3

各行に複数のチェックボックスを含むテーブルがあります。個々のチェックボックスの値を取得する必要があります。テーブルの最初の列にあるチェックボックスの値を取得するために、次のようなことができました...

$('#myTable tbody tr td:first-child input:checkbox').each(function() {
        if (this.checked) {
            //Do something
        }
    });

しかし、今度は各行を繰り返し処理し、個々のチェックボックスの値を取得する必要があります。これは、特定のチェックボックスに対して私が試みてきたことです...

if($(this).find(':input[type="checkbox"]').eq(0).attr('checked')) {
            myVariable = 'so and so';
        }
        else {
            myVariable = 'something else';
        }

これは機能しません。これを機能させる方法について何か提案はありますか?

4

2 に答える 2

1

あなたの質問はそれほど明確ではありませんが、2番目の例から、「これ」がtrであると想定しています。以下は、行内の最初のチェックボックスを取得し、チェックされているかどうかをテストする方法を示しています

if ( $(this).find('input:checkbox:first').is(':checked') ) {...}

行内のすべてのチェックボックスを反復するには

$(this).find('input:checkbox').each( function(){...}

行内のすべてのチェックボックスを反復するには

   $(this).find('input:checkbox:checked').each( function(){...}
于 2010-07-21T22:34:47.547 に答える
0

td:first-childセレクターから削除してみませんか?

$('#myTable tbody tr  input:checkbox').each(function() {
    if (this.checked) {
        //Do something
    }
});

または、チェックボックスを行ごとにグループ化したい場合は、次のようにします。

$('#myTable tbody tr').each(function() {
    $(this).find('input:checkbox:checked').each(function() {
        //..
    });
});
于 2010-07-21T22:36:11.343 に答える