JQuery克隆表行和增量输入框id
尝试复制上一行(或创建空行),并将每个输入字段id和名称递增1。然而,它所做的只是把数字钉在末端。导致id012345等 我知道.slice()可以删除最后一个字符,但我无法正确实现它。有什么建议吗JQuery克隆表行和增量输入框id,jquery,Jquery,尝试复制上一行(或创建空行),并将每个输入字段id和名称递增1。然而,它所做的只是把数字钉在末端。导致id012345等 我知道.slice()可以删除最后一个字符,但我无法正确实现它。有什么建议吗 <script type='text/javascript'> $(window).load(function(){ var i = 0; //clone previous row $(".clone").click(function() { $("table tr:last")
<script type='text/javascript'>
$(window).load(function(){
var i = 0;
//clone previous row
$(".clone").click(function() {
$("table tr:last").clone().find("input").each(function() {
$(this).attr({
'id': function(_, id) { return id.slice(0, - 1) + i },
'name': function(_, name) { return name + i },
'value': function(_, value){ return value }
});
}).end().appendTo("table");
i++;
});
//create blank row
$(".blank").click(function() {
$("table tr:last").clone().find("input").each(function() {
$(this).attr({
'id': function(_, id) { return id.slice(0, - 1) + i },
'name': function(_, name) { return name + i },
'value': ''
});
}).end().appendTo("table");
i++;
});
});
</script>
$(窗口)。加载(函数(){
var i=0;
//克隆上一行
$(“.clone”)。单击(函数(){
$(“表tr:last”).clone().find(“输入”).each(函数(){
$(this.attr)({
'id':函数(_,id){return id.slice(0,-1)+i},
'name':函数(_,name){return name+i},
'value':函数(_,value){返回值}
});
}).end().appendTo(“表格”);
i++;
});
//创建空行
$(“.blank”)。单击(函数(){
$(“表tr:last”).clone().find(“输入”).each(函数(){
$(this.attr)({
'id':函数(_,id){return id.slice(0,-1)+i},
'name':函数(_,name){return name+i},
“值”:”
});
}).end().appendTo(“表格”);
i++;
});
});
您考虑得太多了:
$("#clone").click(function() {
$("#cloningTable tr:last").after($("#cloningTable tr:last").clone());
$("#cloningTable tr:last").attr("id", "tr" + $("#cloningTable tr").length);
});
只需使用tr
s的length
即可确定ID
这是一把小提琴:
编辑:我假设您也要编辑表行中任何内容的ID。只需修改我的代码(例如,$(“#cloningTable tr:last input”).attr(“id”,“input”+$(“#cloningTable tr”).length);
)即可将相同的概念应用于子元素