2

フィールドセットの範囲内のチェックボックスがチェックされているかどうかを確認する必要があります

<fieldset id="issues">
    <input name="A" id="issue_0" type="checkbox" value="A" /> <--- this one
    <input name="B" id="issue_1" type="checkbox" value="B" />
    <input name="C" id="issue_2" type="checkbox" value="C" />
    <input name="D" id="issue_3" type="checkbox" value="D" />
    <input name="E" id="issue_4" type="checkbox" value="E" />
</fieldset>

フィールド セットは #issues です。これは、それらのいずれかがチェックされているかどうかを確認するために正常に機能します

if( $('#issues input[type="checkbox"]').is(':checked') ){
  console.log("One of them is checked");
}

しかし、インデックスごとの特定のチェックボックスがチェックされているかどうか、つまり最初のチェックボックスがチェックされているかどうかを確認したい。私はこれを試しました...

if( $('#issues input[type="checkbox"][0]').is(':checked') ){
  console.log("Item one is checked");
}

しかし、それは機能しません

フィールドセット内のインデックスで特定のチェックボックスをターゲットにするにはどうすればよいですか?

4

3 に答える 3

6
if( $('#issues input[type="checkbox"]').first().is(':checked') ){
    console.log("Item one is checked");
}

.first()ラップされたセットの最初のものを取得するために使用します。

また.prop()、クロスブラウザの問題に関しては、より簡単に対処できるため、使用することをお勧めします!

if( $('#issues input[type="checkbox"]').first().prop('checked') === true ){
    console.log("Item one is checked");
}​

特定のインデックスを取得する必要がある場合は、次のようにします。

var index = 2;
if( $('#issues input[type="checkbox"]').eq(index).prop('checked') === true ){
    console.log("Item one is checked");
}​
于 2012-08-14T23:23:54.257 に答える
3

eq()次の方法を使用できます。

一致したセット内のインデックス n の要素を選択します。

 if( $('#issues input[type="checkbox"]').eq(0).is(':checked') ){
    console.log("Item one is checked");
 }

または:eq()セレクターを使用します。

$('#issues input[type="checkbox"]:eq(0)') // selects the first input
$('#issues input[type="checkbox"]:eq(1)') // selects the second input
于 2012-08-14T23:25:54.597 に答える
1

これにより、n 番目の子を選択できます。

http://api.jquery.com/nth-child-selector/

if( $('#issues input[type="checkbox"]:nth-child(1)').is(':checked') ){
    console.log("child one is checked");
 }
于 2012-08-14T23:27:45.537 に答える