我有几个div,其中输入是这样的:
<div class="executor">
<input type="hidden" name="Task.Executors[0].Id"/>
<input type="hidden" name="Task.Executors[0].Name"/>
<input type="hidden" name="Task.Executors[0].JobTitle"/>
</div>
<div class="executor">
<input type="hidden" name="Task.Executors[1].Id"/>
<input type="hidden" name="Task.Executors[2].Name"/>
<input type="hidden" name="Task.Executors[3].JobTitle"/>
</div>
我需要一个执行此操作的选择器:查找名称包含Executors[somedigit]
的输入。 somedigit
部分是让我难过的部分。我需要正则表达式吗?
Executors[somedigit]
更改为Executors[2]
之类的内容。所以我需要一些可以帮助我用另一个替换somedigit
的东西。
EDIT2:为什么我需要这个。假设有100个这样的div。通常,最后一个div将包含名称中包含Task.Executors[99]
的隐藏输入。现在,让我们说第87个div被删除了。现在有99个div,现在最后一个div中的输入必须将其名称从Task.Executors[99]
更改为Task.Executors[98]
。我需要这些索引是正确的,以便我的模型是一个有效的模型。
答案 0 :(得分:2)
您可以使用属性包含选择器以及所需数字的串联:
var somenum = 2;
$('[name*="Executor['+ somenum +']"]')
<强>样本:强>
$(function(){
var somenum = "0";
$('[name*="Executor['+ somenum +']"]').val('abv')
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="executor">
<input type="text" name="Task.Executor[0].Id"/>
<input type="text" name="Task.Executor[0].Name"/>
<input type="text" name="Task.Executor[0].JobTitle"/>
</div>
<div class="executor">
<input type="text" name="Task.Executor[1].Id"/>
<input type="text" name="Task.Executor[2].Name"/>
<input type="text" name="Task.Executor[3].JobTitle"/>
</div>
&#13;
答案 1 :(得分:0)
您可以使用css selector $("[name^='Task.Executor']")
来选择名称以Task.Executor开头的所有元素。
您可以查看更多选择器:http://www.w3schools.com/jquery/jquery_ref_selectors.asp