2013-05-15 120 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