行数是动态的,所以我无法确定行的名称,这里是 fiddle :http://jsfiddle.net/1vp29wxq/1/
$('.NameOfSensor').on("click", function () {
var tr = $(this).parents('tr:first');
var thisRow = tr.find(".rowMode");
var checkChecked = $("input[class='rowMode']:checkbox:checked");
var checkBoxes = $("input[class='rowMode']:checkbox");
if (checkChecked.length < checkBoxes.length)
{
checkBoxes.prop("checked", true);
}
else {
checkBoxes.prop("checked", false);
}
});
我从中得到的是所有复选框都被选中,但我只想要单击它的行中的复选框。另外,无论我尝试了什么,我似乎都无法合并我创建的 2 个变量(tr 和 thisRow),我能得到一些帮助吗?此外,复选框所在的列数始终为 6(有时我只是隐藏它们)。
最佳答案
将您的代码更改为:
$('.NameOfSensor').on("click", function () {
var tr = $(this).closest('tr');
var checkChecked = $(tr).find("input[class='rowMode']:checkbox:checked");
var checkBoxes = $(tr).find("input[class='rowMode']:checkbox");
if (checkChecked.length < checkBoxes.length)
{
checkBoxes.prop("checked", true);
}
else {
checkBoxes.prop("checked", false);
}
});
您的选择器错误并获取了所有行。
关于javascript - 如何动态单击标签以仅检查整行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706972/