我目前有一个动态生成数组输入的表单。我想要做的是获取某个数组索引的输入并继续我必须执行的一些任务(验证等)。
现在,我知道我可以选择这样的输入:
var id = $('#hiddenInputContainer').find('[name="item[1][id]"]')
var name = $('#hiddenInputContainer').find('[name="item[1][name]"]');
// so on...
但我在想是否可以缩小对[name^='item[1]']
的输入搜索范围,然后找到id
和name
。
在我的情况下,hiddenInputContainer
会有很多输入,我想尽可能优化javascript。那么我该如何缩小清单呢?
P.S。我已尝试过var inputs = $('#hiddenInputContainer').find('[name="item[1]"]')
以及之后的inputs.find('[name*="id"]')
,但由于某些原因这不起作用?
html的外观示例:
<div id="hiddenInputContainer">
<input type="hidden" name="item[1][id]" value="1"/>
<input type="hidden" name="item[1][name]" value="a name for item 1"/>
<input type="hidden" name="item[2][id]" value="2"/>
<input type="hidden" name="item[2][name]" value="a name for item 2"/>
<input type="hidden" name="item[3][id]" value="51"/>
<input type="hidden" name="item[3][name]" value="a name for item 51"/>
</div>
答案 0 :(得分:2)
我认为你正试图做这样的事情 -
var inputs = $('#hiddenInputContainer').find('[name^="item[1]"]');
inputs.filter('[name*="id"]')