gpt4 book ai didi

javascript - 检查 jquery 选择的对象数组中的元素名称

转载 作者:行者123 更新时间:2023-12-02 18:30:16 25 4
gpt4 key购买 nike

我是 js 和 jquery 库的初学者。我想获取具有特定名称的输入字段数组,并验证输入。我的每个输入字段都有一个名称,如 NS[0]、NS[1] 等。字段的总数必须由代码确定,因为这些字段是由 javascript 生成的。

我知道我可以让 jquery 处理单个对象,如下所示:

$("input[name=NS\\[0\\]]").val()对于 <input type="text" name="NS[0]"> .

但是,如何获得从 NS[0] 到 NS[x] 的所有这些相似元素的数组,其中 x 必须根据已生成的字段数量来确定?我已经有其他具有不同名称模式的字段共享相同的 css 类,因此不能选择使用类。这些框位于特定的 div 区域中,但同一区域中还有其他输入字段,因此选择同一区域的所有输入框也会选择它们。

换句话说,如何使用jquery检查每个输入字段的名称,在获取整个输入字段数组后,检查每个单独的名称?

由于我在由表 ID CNTR1 确定的区域中有各种名称的输入字段,因此我将使用 $('#CNTR1 input') 选择它们。 。我还可以使用 $("input[name=]") 选择各个字段。但是,我想做的是选择 $('#CNTR1 input') 下的所有内容,然后对其名称运行循环,检查名称是否符合预定条件。我怎样才能做到这一点?

html代码:

<table class="table" id="cnservers">
<thead>
<tr>
<th>Type</th>
<th>Preference</th>
<th>Value</th>
<th>Name</th>
</tr>
</thead>
<tr id="CNTR0">
<td>CNAME</td><td><input type="text" name="CN_PREF[0]" value=""></td><td>
<input type="text" name="CN_VAL[0]" value=""></td><td>
<input type="text" name="CN_NAME[0]" value="">
<a class="btn btn-danger" onclick="DelField(this.id);" id="CN_D0" >
<span class="btn-label">Delete
</span>
</a>
<a class="btn btn-primary" onclick="addField('cnservers','CN',10);" id="CN_A0" >
<span class="btn-label">Add
</span>

</td></tr>
</table>

[1]: /image/bm0Jq.jpg

最佳答案

我一定错过了什么。您是否有无法使用 http://api.jquery.com/attribute-starts-with-selector/ 的原因? ?

$('#CNTR1').find('input[name^="NS"]')

关于,

However, what I want to do, is to select everything under $('#CNTR1 input'), and then run a loop on their names, checking whether the names match a predetermined criteria. How can I do that?

$("#CNTR1 input").each(function(index, elem) { 
var $elem = $(elem),
name = $elem.attr('name');

var nameMatchesCondition = true; // replace with your condition
if (nameMatchesCondition) {
// do something!
}
});

编辑1:

嗯,id仍然是html元素的一个属性。所以你可以这样做 $('[id^="CNTR1"]') ...元素的 id 属性的值不包含 #。它只是 css/jquery 选择器的一部分。使用属性样式选择器时,您不需要它。虽然我无法对此的表现发表评论。

理想情况下,您希望将第二个类(例如 js-cntr)附加到您使用以 CNTR 开头的 id 创建的所有元素。尽管不同的名称模式元素可能已经有一个类,但该类用于样式化。没有什么可以阻止您纯粹为了通过 js 选择而附加自定义类。这是一个被接受的事情,这就是为什么类名以 js- 开头,表示它纯粹通过 js 进行选择。

关于javascript - 检查 jquery 选择的对象数组中的元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com