0

我有一张桌子,第一个 TR 隐藏了 (style="display:none;")。我在表格顶部有一个按钮,允许用户向表格中添加新行。单击时,我希望将隐藏的行克隆并添加到表格的底部。我认为这是最好的方法,因为我可以预先格式化该行以准确包含我在 NEW 行中需要的内容。

这是我到目前为止的 JQuery:

$(document).ready(function($) {
   $(".dispadd").click(function() {
      $('#hiddenrow').clone().show().appendTo( $('#hiddenrow').parent() );
   });
});

它似乎按预期添加了行,但在一秒钟内,新行消失了。有人看到我做错了什么吗?

_ _ __最新代码_ _ ____

$(document).ready(function($) {
    $(".dispadd").click(function(event) {
        event.preventDefault();
        $('#hiddenrow')
            .clone()
                .removeAttr('id')
                .show()
                .appendTo( $('#disptable').after().show() 
        );
    });
});

在将#hiddenrow 移到父表之外后,我不得不对其进行一些修改。如何设置克隆行中输入框之一的值?

4

2 回答 2

2

您的代码工作正常,因此您页面上的其他一些代码必须隐藏新行。这很可能是因为您没有#hiddenrow从克隆的行中删除 - 见下文:

$(document).ready(function($) {
    $(".dispadd").click(function() {
        $('#hiddenrow')
            .clone()
                .removeAttr('id')
                .show()
                .appendTo( $('#hiddenrow').parent() );
    });
});​

演示:http: //jsfiddle.net/kelervin/4zrC7/2/

于 2012-11-09T00:34:08.950 回答
1

后续说明 - 如果您不从新克隆的行中删除 id #hiddenrow,您最终会得到多个具有相同 id 的行 - 请参见此处:div class vs id

于 2012-11-09T00:56:50.550 回答