JQuery - 将td中的复选框设置为禁用?

时间:2012-04-03 11:59:50

标签: jquery select checkbox html-table

很抱歉,如果这很明显,但已经环顾四周,无法正常工作:

row.find("td.favourite:first-child").attr('disabled', 'disabled');

我正在努力选择td中的复选框,有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

您的复选框是否有ID?如果没有,或者如果在设计时未知,为什么不在复选框中提供CSS类 - 然后只需使用选择器选择类并禁用复选框?

例如,如果给复选框一个CSS类“MyCheckboxCSSClass”(实际上根本不需要在任何地方定义 - 如果你愿意,可以组成一个名字),你可以禁用所有复选框和那个班级一样:

$(".MyCheckboxCSSClass").attr("disabled", true);

我相信这会简化整个过程。

答案 1 :(得分:3)

建议在这些情况下使用prop代替attr。 此外,将:checkbox添加到您的选择器相当于[type="checkbox"]

row.find('td.favorite:first-child input:checkbox').prop('disabled', true);

祝你好运,如果你发布你的标记,它仍然是一个更好的解决方案。

答案 2 :(得分:1)

您的选择器返回第一个td元素,而不是复选框,请尝试:

row.find('td.favourite:first-child input[type="checkbox"]').attr('disabled', 'disabled');

这个选择器看起来非常冗长。如果您发布HTML,很可能有更好的方法来遍历DOM以进入复选框。