查找 name 属性值中包含 [somedigit] 的输入
Find input whose name attribute value has [somedigit] in it
我有几个 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]
。我需要这些索引是正确的,这样我的模型才是有效的模型。
您可以使用 css 选择器 $("[name^='Task.Executor']")
选择名称以 Task.Executor 开头的所有元素。
您可以查看更多选择器:http://www.w3schools.com/jquery/jquery_ref_selectors.asp
您可以使用包含选择器的属性以及所需数字的串联:
var somenum = 2;
$('[name*="Executor['+ somenum +']"]')
演示:
$(function(){
var somenum = "0";
$('[name*="Executor['+ somenum +']"]').val('abv')
})
<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>
我有几个 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]
。我需要这些索引是正确的,这样我的模型才是有效的模型。
您可以使用 css 选择器 $("[name^='Task.Executor']")
选择名称以 Task.Executor 开头的所有元素。
您可以查看更多选择器:http://www.w3schools.com/jquery/jquery_ref_selectors.asp
您可以使用包含选择器的属性以及所需数字的串联:
var somenum = 2;
$('[name*="Executor['+ somenum +']"]')
演示:
$(function(){
var somenum = "0";
$('[name*="Executor['+ somenum +']"]').val('abv')
})
<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>