2017-01-31 4 views
0

私はチェックボックス配列とcheckall/uncheck all機能を持っています。私は、チェックボックスを生成するループ内でそれを面倒する必要がないように回避策はありjQueryはチェックボックスの名前配列の特定のインデックスのみを変更します

$("input[name='temps[]']").removeAttr("checked"); // works 
$("input[name='temps[0]']").prop("checked", true); // doesn't work 

:私はすべてのチェックを外したとき、私は最初の遺跡が確認さを確認するが、それは以下のように動作しません。または私はそれを行うことはできません例最初のチェックボックスにIDを与えますか?あなたはその後、所望の動作は、あなたがまたに:first selectorを使用することができます

$("input[name='temps[]']").eq(index).prop("checked", true); 

OR、

$("input[name='temps[]']:eq(" + index + ")").prop("checked", true); 

を実行することができ、指定したインデックスにある要素を取得するために.eq(index)または:eq(index)を使用することができます

$("#firstBox").prop("checked", true) 
+1

? –

+0

理解を深めるために完全なコードを投稿できますか? –

+1

この '$( 'input [name =" temp [] "]:first')。prop( 'checked'、true);' – CodeZilla

答えて

2

最初に一致するDOM要素を取得する

$("input[name='temps[]:first']").prop("checked", true); 
+1

この.eq()は解決策です。私はすべての答えをupvotedしかしそれは表示されません。 –

+0

@SzélLajos、あなたはupvoteに十分な評判がありません。必ずしも私が必ずしも私のものではないことにあなたを助けた答えを受け入れることを検討してください。ご質問はほとんどありませんが、答えは受け付けていません。 [どのように答えを受け入れていますか?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。この方法で評判を得ることができます。 – Satpal

+0

ああ私は見る!私はそれを作るつもりです。 –

1

あなたのHTMLソースを見てください。要素名はtemps[]であり、temps[0]ではありません。だからこそ、セカンドセレクタは動作しません。

最初に選択するには、.eq(0)を使用します。

$("input[name='temps[]']") 
    .removeAttr("checked") 
    .eq(0) 
    .addClass('checked') 
    .prop('checked', true) 
; 
1

あなたはjQueryのリストから番号で項目を抽出するためにeq()機能を使用することができます。これはちょうどその1つの項目に派生リストを作成し、その後、あなたはいつものように進行することができます

$("input[name='temps[]']").eq(0).prop("checked", true); 
1
$("input[name='temps[]']")[0].prop("checked", true); 

それとも

たぶん**セレクタ**第一子を使用して
$("input[name='temps[]:first']").prop("checked", true); 
関連する問題