2016-07-13 90 views
0

我有一個充滿團隊和分數的表單。其中一個輸入是這樣的: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]」)'不是有效的選擇器。你需要找到一個適合你的需求的css選擇器 – RDardelet

+0

'home_score []'不是一個有效的'id'值。 –

回答

0

id必須是唯一的,所以你不能有id爲home_score[]

的多個元素。如果要選擇具有home_score[]

然後你可以使用:eq選擇的第n個元素: $('[name="home_score[]"]:eq(0)').val()eq()功能:$('[name="home_score[]"]').eq(0).val()

+0

您可以將多個ID作爲home_score []。他們被放入一個數組中。我經常使用它們。 – Ian

+0

@Ian它是**不是**有效的具有相同'id'的多個元素,規範是明確的。如果你有多個具有相同'id'的元素,那麼它**可能會工作,但結果和行爲是未定義的,並且在不同的瀏覽器中會有所不同。爲了命名'input'元素,你必須使用'name'而不是'id',並且只有當多個元素具有'name''home_score []'時,那些被轉換爲數組的元素(這不是'id'的\t的目的) ),其他一切都是不正確的行爲,你不應該繼續這個。 –

+0

就我而言,這是很常見的用法。每個ID是不同的,不一樣。即,home_score [1]不同於home_score [2]。我也有陣列中的名字。除此之外,沒有有效的方法來處理數據。如果你能告訴我另外一件更好的事,那會很棒。感謝您的意見。 – Ian