我有一些具有相同名称和后缀的输入元素,但这些输入有一个索引(数组),如parameterName [index] .PropertyName
类似的东西:
<input type="text" name="stocks[0].Key" value="MSFT" />
<input type="text" name="stocks[1].Key" value="AAPL" />
<input type="text" name="stocks[n].Key" value="ZZZZ" />
我如何迭代这些输入元素?
类似
$("#stocks[x].Key").each
答案 0 :(得分:3)
您可以在选择器中使用starts with
: ^ 和ends with
: $ :
$('[name^="stocks["][name$="Key"]').each(function() {
console.log($(this).val());
});
如果名称属性值starts
包含stocks[
,ends
包含Key
,则会选择元素。
答案 1 :(得分:1)
将输入元素包装在ul和li中,如下所示:
<ul id="foo">
<li id="1">
<input type="text" name="stocks[0].Key" value="MSFT" />
</li>
<li id="2">
<input type="text" name="stocks[1].Key" value="AAPL" />
</li>
</ul>
然后您可以按如下方式访问输入元素:
$('#foo li').each( function() {
id = this.id;
mytext = $(this).find('input[type=text]').val();
});