Javascript 在
我想在元素中更改名称属性,我在这里有几个名称字符串[0][],现在我想在单击链接后添加更改0,并将1替换为所有0。Jquery做得怎么样 演示: 我试着做,但不为我工作:Javascript 在,javascript,jquery,Javascript,Jquery,我想在元素中更改名称属性,我在这里有几个名称字符串[0][],现在我想在单击链接后添加更改0,并将1替换为所有0。Jquery做得怎么样 演示: 我试着做,但不为我工作: <div class="ch"> <p> <input type="checkbox" name="cDA[0][]"> <input type="checkbox" name="cDA[0][]"> <input
<div class="ch">
<p>
<input type="checkbox" name="cDA[0][]">
<input type="checkbox" name="cDA[0][]">
<input type="checkbox" name="cDA[0][]">
<input type="checkbox" name="cDA[0][]">
</p>
<p>
<input type="checkbox" name="cFE[0][]">
<input type="checkbox" name="cFE[0][]">
<input type="checkbox" name="cFE[0][]">
<input type="checkbox" name="cFE[0][]">
</p>
<p>
<input type="checkbox" name="cYG[0][]">
<input type="checkbox" name="cYG[0][]">
<input type="checkbox" name="cYG[0][]">
<input type="checkbox" name="cYG[0][]">
</p>
<a href="" class="adding">Add</a>
</div>
$('a.adding').live('click change', function (e) {
e.preventDefault();
$clone = $(this).closest('.ch').clone().insertAfter('.ch');
$clone.find('input[type="checkbox"]:contains("0")').prop('1');
})
如果我理解正确,您希望与回调函数一起使用:
$('input[type="checkbox"]').attr('name',function(i,str) {
return str.replace('0','1');
});
更新:这里有一个完整的版本,它可以做任何你想做的事情。它使用str.match/\d+/提取name属性中的第一个数字字符串,将其转换为整数,然后使用str.replace将其替换为下一个整数。注意:insertAfter零件已更新,因此它仅在最后一个div.ch之后插入:
更新。检查小提琴。我不太清楚你想要的结果是什么。0在这里是动态的,它只是一个例子。@TaylorGomez,你需要提前告诉人们这一点!第一个获取了它,然后更改了。0将替换行更改为:return str.replace/\d+/,functionx{return parseIntx,10+1};
$(document).on('click change', 'a.adding', function(e) {
e.preventDefault();
$div = $(this).closest('.ch');
$clone = $div.clone().insertAfter($div);
$clone.find('input[type="checkbox"]').attr('name', function(i, str) {
var int = parseInt(str.match(/\d+/)[0],10);
return str.replace(int, (int+1));
});
});