使用数组模式jQuery访问输入名称

时间:2012-11-21 18:36:04

标签: jquery

我正在尝试通过jQuery访问以下输入名称,以便根据一组可能的选项更改其状态属性。标记如下:

<input name="extra[00]" id="extra[00]" type="text" class="optional-field extra " value="" disabled="disabled">
<input name="extra[01]" id="extra[01]" type="text" class="optional-field extra " value="" disabled="disabled">
<input name="extra[02]" id="extra[02]" type="text" class="optional-field extra " value="" disabled="disabled">
<input name="extra[20]" id="extra[20]" type="text" class="optional-field extra " value="" disabled="disabled">
<input name="extra[21]" id="extra[21]" type="text" class="optional-field extra " value="" disabled="disabled">
<input name="extra[30]" id="extra[30]" type="text" class="optional-field extra " value="" disabled="disabled">

name =“extra [XX]”中的第一个数字表示一个组,这就是为什么它可以重复,而第二个数字设置顺序。我正在尝试这个,但找不到第二种可能元素的方法:

var id = jQuery(this).val(); // Changes from a drop-down
var extra = jQuery('input[name="extra[' + id + ']"]');

是否可以计算DOM开始时有多少“额外”元素,例如id = 2(jQuery('input[name="extra[2*]"]'))?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

试试这个

$('input[name^="extra\\[2"]').length

需要逃避 [ \\

这将为您提供以name="extra[2"

开头的输入元素的长度

^ attribute starts with selector

<强> Check Fiddle

答案 1 :(得分:1)

您可以使用$("#container input[name=^extra]");选择以extra开头的所有元素。然后只计算该列表中的元素数量。 :)