0

我有一个表,其中有一个添加新行的按钮。添加此新行时,字段 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;
});
4

1 回答 1

0

为了不keyup为每个新行绑定事件,您可以使用.live.on在最新的 jQuery 中)只添加一次并使其适用于添加的任何新项目。此外,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

.data("rowindex");在创建新添加的 rs_staff_title 元素时应该像这样设置.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;
    });
于 2012-10-03T09:06:43.870 回答