您好,登錄后才能下訂單哦!
實現功能:點擊列表中的某一行,然后當前行會變成其他顏色,并且其中的radio會被選中。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <script type="text/javascript" src="<%=basePath%>/js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("tbody>tr").click(function(){ $(this) .addClass('sel') .siblings().removeClass('sel'); .end() .find(':radio').attr('checked',true); }); }) </script> <style type="text/css"> .sel{ background: red; } </style> </head> <body> <table> <thead> <tr><th>選擇</th></tr> <tr><th>姓名</th></tr> <thead> <tbody> <tr><td><input type="radio" name="fruit"></td><td>張三</td></tr> <tr><td><input type="radio" name="fruit"></td><td>李四</td></tr> <tr><td><input type="radio" name="fruit"></td><td>王五</td></tr> </tbody> </table> </body> </html>
學習之初對于end的用法不太了解,我把自己理解說下,歡迎指教。
END()用法在官方文檔的說明回到最近的一個"破壞性"操作之前。即將匹配的元素列表變為前一次的狀態。相信不少人并沒有理解它的用法。
舉個簡單例子
<p><span>Hello</span>,how are you?</p>
jQuery 代碼:
$("p").find("span").end()
其返回的值為:
[ <p><span>Hello</span> how are you?</p> ]
其實就是:查找P標簽中的<span>標簽,接著使用END()方法結束對P標簽的引用,此時返回的是P標簽(JQuery)對象
就如第一個例子如果我采用end()用法,那么寫法就是
<script type="text/javascript"> $(document).ready(function(){ $("tbody>tr").click(function(){ $(this) .addClass('sel') .siblings().removeClass('sel'); $(this).find(':radio').attr('checked',true); }); }) </script>
如果初始化的時候有表格被選中,則需要處理,代碼如下:
$("table :radio:checked").parent().parent().addClass('sel');
或者
$("table :radio:checked").parents("tr").addClass('sel');
或者
$('tbody>tr:has(:checked)').addClass('sel');
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。