jquery 单击table行事件和radio的选中事件冲突
2014-11-04 22:37
99 查看
原文地址:http://zhidao.baidu.com/link?url=HER7lu4jqejWUhWQO2nq6LZ6tf7vyhPZRADSL-xaBQSF4P4yftD9vg08Ss8HF-1I7XqrALfkRc6TdLHYQixpcK
2013-01-30 09:10tvogfj | 分类:JavaScript | 浏览1779次例如: <tr class="resultTr"> <td><inputtype="radio"name="checkbox" id="${personId}" value="0"/> <td>张三<td> <td>女<td> </tr> 用jquery为行绑定事件,方便操作,单击行就可以选中radio,获取传递到后台; $(".resultTr").bind("click",function(){ var checkObj = $(this).children().eq(0).children().eq(0); if(checkObj.attr('checked')==undefined){ checkObj.attr('checked',true); }else{ checkObj.attr('checked',false); } }); 功能能够实现,可是如果这时单击一行中的radio就无法实现选中了,点击周围出现一个小框,应该是事件冲突,有什么好的解决办法么?
提问者采纳
首先你写的这个就有问题,你点击radio的时候实际上已经选中了,但事件冒泡到了tr,又执行了一次click事件,所以就造成了选不中的情况,此外,单选框不像复选框,没必要判断是否处于选中状态,代码可以优化成这样: $("tr.resultTr").bind("click",function(){ $(this).find("input:radio").attr("checked","checked") });
提问者评价
按照你说的,真的成功了,好开心,谢谢你!
相关文章推荐
- jquery 单击和双击事件冲突解决方案
- 解决jquery设置radio选中效果后,再次选中不触发事件问题
- JQuery 按键单击和双击事件冲突解决方法
- jquery单击事件和双击事件冲突解决方案
- jQuery radio change事件 checkbox选中事件
- jQuery:1.5.4.3,表格变色(单击行,把当行的单选按钮(radio)设为选中状态,并应用当前样式)
- jquery操作radio标签的选中事件
- 解决jquery设置radio选中效果后,再次选中不触发事件问题
- layui中使用jquery控制radio选中事件的示例代码
- jquery-icheck radio的点击事件、change事件、获取当前选中的值
- 【jQuery】jQuery双击事件与单击事件的冲突解决
- jquery单击事件和双击事件冲突解决方案
- 基于jquery 全选、反选、各行换色、单击行选中事件实现代码
- jquery 全选、反选、各行换色、单击行选中事件
- Jquery实现GridView隔行变色,鼠标经过变色,单击或者选中变色
- jquery 动态选中radio
- jquery 简单的单击事件
- JQuery autocomplete选中某项后触发事件
- jquery 动态选中radio
- jquery实用应用之jquery操作radio、checkbox、select选中