jq 如何点击table的一行任意地方后,选中checkbox
如图

我本来的写法是这样的
用了好久相安无事。昨晚我发现一个问题, 就是 如果用户点击的时候,点击的恰好是checkbox的时候,那么执行顺序是
checkbox打钩或者去掉勾 -----执行checkbox click事件 ----执行tr点击事件。
这样问题就来了,如果我点击chexkbox,那他先把勾选上了,那么此时的checked ==true,一会执行上面的代码的时候,
直接跳到true的 if语句里面了, 这个语句直接又把checked状态去了。这样就相当于没点。
现在我愁死了,都不知道怎么弄,
我刚才想用点击tr的时候,主动调用checkbox的点击事件,结果执行了一下发现是个死循环,一直都在alert,我都不知道怎么回事。
我现在都不知道怎么搞,难道要tr判断一次,checkbox又判断一次?中间定义一个全局的bool变量,然后checkbox点击了,tr就不执行了?
这好像搞得我好麻烦的样子

我本来的写法是这样的
$("#tdClassInfo").on("click", "tr", function () {
var input = $(this).find("input");
if ($(input).attr("checked")) {
$(input).removeAttr("checked");
}
else
{
$("#tdClassInfo tr").find("input").each(function () {
$(this).removeAttr("checked");
});
$(input).attr("checked", true);
}
});
用了好久相安无事。昨晚我发现一个问题, 就是 如果用户点击的时候,点击的恰好是checkbox的时候,那么执行顺序是
checkbox打钩或者去掉勾 -----执行checkbox click事件 ----执行tr点击事件。
这样问题就来了,如果我点击chexkbox,那他先把勾选上了,那么此时的checked ==true,一会执行上面的代码的时候,
直接跳到true的 if语句里面了, 这个语句直接又把checked状态去了。这样就相当于没点。
现在我愁死了,都不知道怎么弄,
我刚才想用点击tr的时候,主动调用checkbox的点击事件,结果执行了一下发现是个死循环,一直都在alert,我都不知道怎么回事。
$("#tdClassInfo").on("click", "tr", function () {
var input = $(this).find("input");
$(input).click();
});
$("#tdClassInfo").on("click", "tr input", function () {
alert(2222) //这个alert一直在弹出来,死循环的
});
我现在都不知道怎么搞,难道要tr判断一次,checkbox又判断一次?中间定义一个全局的bool变量,然后checkbox点击了,tr就不执行了?
这好像搞得我好麻烦的样子
...全文
相关推荐
JS选中checkbox后获取table内一行TD所有数据的方法
主要介绍了JS选中checkbox后获取table内一行TD所有数据的方法,涉及javascript针对table元素遍历与获取的技巧,需要的朋友可以参考下
jQuery实现点击行选中或取消CheckBox的方法
主要介绍了jQuery实现点击行选中或取消CheckBox的方法,涉及jQuery针对页面元素的循环遍历与属性操作相关技巧,需要的朋友可以参考下
JQuery点击行tr实现checkBox选中的简单实例
下面小编就为大家带来一篇JQuery点击行tr实现checkBox选中的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
jq checkbox 的全选并ajax传参的实例
下面小编就为大家带来一篇jq checkbox 的全选并ajax传参的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
jquery判断checkbox(复选框)是否被选中的代码
现在很多朋友都喜欢使用jquery了,所以很多的表格判断都是基于jquery的,但实现方法与javascript原生代码不同,对于checkbox的判断大家可以参考下。


