2016-07-13 28 views
0

私はチームとスコアで満ちたフォームを持っています。入力の1つは次のようになります。jQuery:id配列の参照要素

<input name="home_score[]" type="text" value="" id="home_score[]" class="admin-input-small"> 

ユーザーが、私は与えられたチームが追加されており、どのようなスコアが入力されているかどうかを確認するために入力をチェックしたい得点とチームを入力として。

特定の番号のhome_score配列へのアクセス方法を理解できません。

私はこれがうまくいくと思っていました。

var score = $("input#home_score[1]").val(); 

+1

正確に何をしようとしていますか?すべての入力を取得するか、特定の入力のみを取得しますか? – Roysh

+2

JQueryセレクタは通常のCSSセレクタに基づいています。つまり、 '$(" input#home_score [1] ")'は有効なセレクタではありません。 – RDardelet

+0

'home_score []'は有効な 'id'値ではありません。 –

答えて

0

idはあなたが名前その後home_score[]

あなたが:eqセレクタを使用することができますを持つn番目の要素を選択する場合は、ID home_score[]

で複数の要素を持つことができませんので、一意である必要があります。 $('[name="home_score[]"]:eq(0)').val()またはeq()関数:$('[name="home_score[]"]').eq(0).val()

+0

複数のIDをhome_score []として持つことができます。それらは配列に入れられます。私はそれらを頻繁に使う。 – Ian

+0

@Ian同じidを持つ複数の要素を持つことは有効ではありませんが、その仕様は明確です。同じidを持つ複数の要素がある場合**動作するかもしれませんが、結果と動作は定義されておらず、ブラウザによって異なります。 'input'要素に名前を付けるためには、複数の要素が' name' 'home_score []'を持ち、配列に変換された要素( 'id'の\tの目的ではありません) )、それ以外のものはすべて正しくない動作ですので、これを中継してはいけません。 –

+0

私が関わる限り、それは一般的な使用法です。それぞれのIDは異なっていて、同じではありません。すなわちhome_score [1]はhome_score [2]と同じではありません。また、私も配列の名前を持っています。これ以外のデータを効率的に処理する方法はありません。あなたが私に別のものを教えてくれれば、それは素晴らしいものになるでしょう。入力いただきありがとうございます。 – Ian

関連する問題