将“单元格”的内容复制到另一个单元格

时间:2012-10-03 08:46:09

标签: jquery

我有一张桌子,里面有一个添加新行的按钮。添加此新行时,字段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;
});

1 个答案:

答案 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;
    });