Jquery之table中根据行选中,进行背景变色和radio选中
实现功能:点击列表中的某一行,然后当前行会变成其他颜色,并且其中的radio会被选中。
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1"><title>Inserttitlehere</title><scripttype="text/javascript"src="<%=basePath%>/js/jquery-1.4.2.min.js"></script><scripttype="text/javascript">$(document).ready(function(){$("tbody>tr").click(function(){$(this).addClass('sel').siblings().removeClass('sel');.end().find(':radio').attr('checked',true);});})</script><styletype="text/css">.sel{background:red;}</style></head><body><table><thead><tr><th>选择</th></tr><tr><th>姓名</th></tr><thead><tbody><tr><td><inputtype="radio"name="fruit"></td><td>张三</td></tr><tr><td><inputtype="radio"name="fruit"></td><td>李四</td></tr><tr><td><inputtype="radio"name="fruit"></td><td>王五</td></tr></tbody></table></body></html>
学习之初对于end的用法不太了解,我把自己理解说下,欢迎指教。
END()用法在官方文档的说明回到最近的一个"破坏性"操作之前。即将匹配的元素列表变为前一次的状态。相信不少人并没有理解它的用法。
举个简单例子
<p><span>Hello</span>,howareyou?</p>
jQuery 代码:
$("p").find("span").end()
其返回的值为:
[<p><span>Hello</span>howareyou?</p>]
其实就是:查找P标签中的<span>标签,接着使用END()方法结束对P标签的引用,此时返回的是P标签(JQuery)对象
就如第一个例子如果我采用end()用法,那么写法就是
<scripttype="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');
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。