2016-07-13 58 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