2013-05-15 121 views
0

在我的小提琴这里:http://jsfiddle.net/qJdaA/2/ 这个代码是假设禁用#monitor按钮时没有选中复选框。按钮属性“禁用”不起作用

 var checked = $('#status_table tr [id^="monitor_"]:checked'); 
     if (checked.index()==-1){ 
      $('#monitor').attr('disabled','true'); 

     } 

但它似乎并没有工作。怎么了?

编辑:我发现我越来越模糊与我的代码。为了简化整个事情,可能是我应该改变逻辑:■我应该如何做,如果我想只启用监视器按钮,如果至少有一个复选框被选中?

回答

3

尝试使用此条件:

if (checked.length === 0) { 

而且你应该使用.prop(),不.attr()用于设置禁用状态(以及之类的东西checkedselected)。

因此,这将是:

$("#monitor").prop("disabled", true); // (or false, to enable it) 

参考文献:

+0

谢谢你的答案。我意识到现在的代码还有很多其他问题(请参阅我编辑的问题)。再次感谢你:) – yvonnezoe

1

尝试

$('#monitor').prop('disabled',true); 

演示:Fiddle

+0

但它似乎相同:(我认为可能有其他问题,请参阅我上面编辑的问题。谢谢!:) – yvonnezoe