我有一张桌子,里面有一个添加新行的按钮。添加此新行时,字段RS_Staff_Title1将增加到RS_Staff_Title2,依此类推。这个按钮的作用是在另一个表中添加一行。
我已经得到了这个函数,可以在你输入时将RS_Staff_Title1的内容复制到另一个表的字段中。
$("#RS_Staff_Title1").keyup(function() {
var value = $(this).val()
$("p").text(value);
}).keyup();
我需要实现的是将StaffTable上的RS_Staff_Title1中的任何内容复制到ResourceTable上的RS_Staff_Title1中,以此类推,无论如何都要增加
更新:
Staff表中行的HTML是:
<tr>
<td><input id="RS_Staff_Title1" name="RS_Staff_Title1" style="width:100%;"></td>
向两个表添加行的JS是:
$("#add_row").click(function() {
var row = $("#staff tbody > tr:last"),
newRow = row.clone(true);
newRow.find("input").each(function() {
var num = +(this.id.match(/\d+$/) || [0])[0] + 1;
this.id = this.id.replace(/\d+$/, "") + num;
this.name = this.id;
});
newRow.insertAfter(row);
return false;
});
$("#add_row").click(function() {
var row = $("#resource-cost tbody > tr:last"),
newRow = row.clone(true);
newRow.find("input").each(function() {
var num = +(this.id.match(/\d+$/) || [0])[0] + 1;
this.id = this.id.replace(/\d+$/, "") + num;
this.name = this.id;
});
newRow.insertAfter(row);
return false;
});
答案 0 :(得分:0)
为了不为每个新行绑定keyup
事件,您可以使用.live
(最新jQuery中的.on
)仅添加一次,并使其适用于添加的任何新项目。此外,ID必须是唯一的,并且您不能拥有两个ID为RS_Staff_TitleN的元素。
我会在RS_Staff_Title元素上放置一个类并绑定keyup处理程序,如下所示:
$(document).on("keyup", ".StaffTableTitle", function() {
var value = $(this).val()
var id = $(this).data("rowindex");
$(".ResourceTableTitle #RT_Staff_Title" + id + " p").text(value);
});
RT_Staff_Title - ResourceTable中RS_StaffTitle的建议ID,以便拥有唯一ID
对于新添加的rs_staff_title元素, .data("rowindex");
应该像这个.data("rowindex", index)
一样设置(更容易从那里获取而不是从ID获取它,以后需要在ResourceTable中找到相应的元素)
newRow.find("input").each(function() {
var num = +(this.id.match(/\d+$/) || [0])[0] + 1;
this.id = this.id.replace(/\d+$/, "") + num;
$(this).data("rowindex", num);
this.name = this.id;
});