1

我正在尝试通过 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 + ']"]');

是否可以通过 id=2 ( ) 来计算 DOM 中有多少“额外”元素jQuery('input[name="extra[2*]"]')

提前感谢您的帮助。

4

2 回答 2

2

尝试这个

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

需要用\\转义[

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

^attribute starts with selector.

检查小提琴

于 2012-11-21T18:40:03.343 回答
1

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

于 2012-11-21T18:43:06.593 回答