我正在尝试通过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*]"]')
)?
提前感谢您的帮助。
答案 0 :(得分:2)
试试这个
$('input[name^="extra\\[2"]').length
需要逃避 [与 \\
这将为您提供以name="extra[2"
^ 是attribute starts with selector
。
<强> Check Fiddle 强>
答案 1 :(得分:1)
您可以使用$("#container input[name=^extra]");
选择以extra
开头的所有元素。然后只计算该列表中的元素数量。 :)