2013-05-22 30 views
0

我有地方在我的頁面上有這樣的結構的表:設置複選框,其父母有一定的CSS類不確定狀態

...<td class="ind"><input type="checkbox" .../> ... </td> 
    <td><input type="checkbox" .../> ... </td> 
    <td><input type="checkbox" .../> ... </td> 

對於包含在<td>ind一類每個複選框,我想將該複選框設置爲其不確定狀態,如圖所示here

如何獲得此作品?

$(document).ready(function() { 
     var checkboxes = $(".ind").find(':checkbox'); 
     for (var i = 0; i < $(checkboxes).length; i++) { 
      checkboxes[i].prop("indeterminate", true); 
     } 
    }); 

回答

2

checkboxes[i]爲您提供了DOM節點,而不是jQuery對象,所以你不能使用.prop那裏。使用checkboxes[i].indeterminate = truecheckboxes.eq(i).prop('indeterminate', true)

當然,代碼可以簡化。你並不需要遍歷複選框來設置該屬性,您可以立即將其設置爲整個集,jQuery將內部處理迭代:

$('.ind :checkbox').prop('indeterminate', true); 
2

這是一個一行

$(".ind :checkbox").prop("indeterminate", true); 

請注意,jQuery總是適用於所有選定的元素。你不需要編寫循環。

0

.prop是一個jQuery方法,只需$。每個():

$(document).ready(function() { 
    var checkboxes = $(".ind").find(':checkbox'); 
    // for (var i = 0; i < $(checkboxes).length; i++) { 
    // checkboxes[i].prop("indeterminate", true); 
    // } 

    checkboxes.each(function() { 
     $(this).prop("indeterminate", true); 
    }); 
}); 

編輯:作爲tomlak說,這其實是一個內襯:)因爲你可以選擇通過$所有想要的複選框( 「.IND」)找到( ':複選框')。你可以簡單地繼續做jQuery awesomeness:

$(".ind").find(':checkbox').prop("indeterminate", true); 
相關問題