【发布时间】:2016-07-15 03:27:17
【问题描述】:
选中后我无法取消选中复选框(全部通过 JS/Jquery)。
代码:
//Works perfect
function showL(labelObj)
{
var cb = $(labelObj).prev()[0];
$(cb).prop('checked', true);
}
//Does NOT work
function hideL(labelObj)
{
var cb = $(labelObj).next()[0];
//$(cb).attr('checked', false);
$(cb).prop('checked', false);
}
更新
【问题讨论】:
-
这不是针对同一个元素,在一个你得到下一个元素,另一个是前一个。请注意,您还需要包含 HTML。
-
不是问题,但是为什么你得到
cb作为对DOM元素的引用然后创建一个新的jQuery对象?你可以说$(labelObj).prev().prop('checked', true); -
@nnnnnn 只是为了测试......我认为我之前的做法是问题所在。
-
需要分享相关的html以及这些方法的调用方式
-
它们应该是同一件事 如果
labelObj正好是一个元素。如果$(labelObj)可以选择多个元素,那么$(labelObj).next()也将选择多个元素,因此通过使用[0],您将获得第一个可能不正确的元素。你没有重复的 id 什么的?
标签: javascript jquery checkbox