Javascript jquery增量id和附加行中子级的名称
大家好。我在一个长而复杂的表单中向一个表添加“更多行”按钮,要添加行,我要克隆表中的一个现有行,修改它,然后将它追加到表的末尾 该行包含具有按顺序编号的id和name属性的输入(例如,第一行的id=“Item_Name1”和name=“Item_Name1”,第二行的id=“Item_Name2”和name=“Item_Name2”,等等)。我正在寻找在附加行中继续此编号顺序的最佳方法 以下是jQuery:Javascript jquery增量id和附加行中子级的名称,javascript,jquery,Javascript,Jquery,大家好。我在一个长而复杂的表单中向一个表添加“更多行”按钮,要添加行,我要克隆表中的一个现有行,修改它,然后将它追加到表的末尾 该行包含具有按顺序编号的id和name属性的输入(例如,第一行的id=“Item_Name1”和name=“Item_Name1”,第二行的id=“Item_Name2”和name=“Item_Name2”,等等)。我正在寻找在附加行中继续此编号顺序的最佳方法 以下是jQuery: jQuery.noConflict(); jQuery(document).ready
jQuery.noConflict();
jQuery(document).ready(function($){
var i = $("table#table-id tbody tr").length;
$("button#more-rows").click(function() {
var clonedRow = $("table#table-id tbody tr:first").clone();
i++;
$("*[name*='1']", clonedRow).attr('id', function() {
var attrval = $(this).attr("id");
var attrval = attrval.replace( /\d/g , "" );
return attrval + i
});
$("table#table-id").append(clonedRow);
});
});
这适用于id,但如何增加名称属性?我们也非常感谢任何关于更简单和/或更有效地编写此文档的提示。这可能会有帮助,也可能不会有帮助,但下面是: 如果您使用的是PHP,而不是用数字作为字段名的后缀,您可能希望尝试将它们命名为“fieldname[]”,而不提供ID。因此,您可以使用如下标记:
<input type="text" name="Item_Name[]" />
不确定整个性能位,但您不能链接另一个attr函数,该函数的功能与第一个函数完全相同,只是用于“name”属性吗
jQuery(document).ready(function($){
var i = $("table#table-id tbody tr").length;
$("button#more-rows").click(function() {
var clonedRow = $("table#table-id tbody tr:first").clone();
i++;
$("*[name*='1']", clonedRow).attr('id', function() {
var attrval = $(this).attr("id");
var attrval = attrval.replace( /\d/g , "" );
return attrval + i
}).attr('name', function() {
var attrval = $(this).attr("name");
var attrval = attrval.replace( /\d/g , "" );
return attrval + i
});;
$("table#table-id").append(clonedRow);
});
});
我考虑过链接.attr,但不确定这是否是最简单的方法。很高兴知道我很接近。:)不管怎样,这很有效-谢谢!你是个救命的人。。。!我正在搜索如何从昨天开始添加每一行的递增id。但我知道php方面应该有一个技巧。就是这样。谢谢!你们给出了几乎相同的答案,所以也要部分归功于你们。:)谢谢你的帮助!
jQuery.noConflict();
jQuery(document).ready(function($) {
var i = $("table#table-id tbody tr").length;
$("button#more-rows").click(function() {
var clonedRow = $("table#table-id tbody tr:first").clone();
i++;
$("*[name*='1']", clonedRow).attr('id', function() {
var attrval = $(this).attr("id");
attrval = attrval.replace(/\d/g, "");
while($('#' + attrval + i).size() > 0) {
i++;
}
return attrval + i;
}).attr('name', function() {
var attrval = $(this).attr("name");
attrval = attrval.replace(/\d/g, "");
return attrval + i;
});
$("table#table-id").append(clonedRow);
});
});
jQuery(document).ready(function($){
var i = $("table#table-id tbody tr").length;
$("button#more-rows").click(function() {
var clonedRow = $("table#table-id tbody tr:first").clone();
i++;
$("*[name*='1']", clonedRow).attr('id', function() {
var attrval = $(this).attr("id");
var attrval = attrval.replace( /\d/g , "" );
return attrval + i
}).attr('name', function() {
var attrval = $(this).attr("name");
var attrval = attrval.replace( /\d/g , "" );
return attrval + i
});;
$("table#table-id").append(clonedRow);
});
});