在我的小提琴中:http://jsfiddle.net/qJdaA/2/
此代码假设在没有选中复选框时禁用#monitor
按钮。
var checked = $('#status_table tr [id^="monitor_"]:checked');
if (checked.index()==-1){
$('#monitor').attr('disabled','true');
}
但它似乎没有起作用。怎么了?
编辑:我发现我的代码模糊了。为了简化整个过程,可能是我应该更改逻辑:如果我只想启用监视器按钮,如果至少检查了一个复选框,我应该怎么做?
答案 0 :(得分:3)
尝试使用此条件:
if (checked.length === 0) {
您应该使用.prop()
而不是.attr()
来设置禁用状态(以及checked
和selected
等内容。)
所以它会是:
$("#monitor").prop("disabled", true); // (or false, to enable it)
参考文献:
.prop()
与.attr()
:.prop() vs .attr() .prop()
:http://api.jquery.com/prop/ 答案 1 :(得分:1)