jQuery形式缩小了数组输入选择范围

时间:2013-06-20 18:57:34

标签: jquery

我目前有一个动态生成数组输入的表单。我想要做的是获取某个数组索引的输入并继续我必须执行的一些任务(验证等)。

现在,我知道我可以选择这样的输入:

var id = $('#hiddenInputContainer').find('[name="item[1][id]"]')
var name = $('#hiddenInputContainer').find('[name="item[1][name]"]');
// so on...

但我在想是否可以缩小对[name^='item[1]']的输入搜索范围,然后找到idname

在我的情况下,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>

1 个答案:

答案 0 :(得分:2)

我认为你正试图做这样的事情 -

var inputs = $('#hiddenInputContainer').find('[name^="item[1]"]');
inputs.filter('[name*="id"]')