0

ページのどこかに、次のような構造を持つテーブルがあります。

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

<td>クラスに含まれるチェックボックスごとに、ここindに示すように、そのチェックボックスを不確定な状態に設定したいと思います

この作品を機能させるにはどうすればよいですか?

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

3 に答える 3

2

checkboxes[i]jQueryオブジェクトではなくDOMノードを提供するため、そこでは使用できません.prop。を使用するcheckboxes[i].indeterminate = trueか、checkboxes.eq(i).prop('indeterminate', true)

もちろん、コードは単純化できます。プロパティを設定するためにチェックボックスを反復する必要はありません。すぐにセット全体に設定でき、jQuery は反復を内部的に処理します。

$('.ind :checkbox').prop('indeterminate', true);
于 2013-05-22T10:41:51.940 に答える
2

それはワンライナーです

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

jQuery は、選択されたすべての要素に対して常に機能することに注意してください。ループを記述する必要はありません。

于 2013-05-22T10:43:04.393 に答える
0

.prop は jQuery メソッドであり、$.each() のみです。

$(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").find(':checkbox'); を介して必要なすべてのチェックボックスを選択できるためです。jQuery の素晴らしさをそのまま継続できます。

$(".ind").find(':checkbox').prop("indeterminate", true);
于 2013-05-22T10:43:27.567 に答える