PHP/JQuery克隆隐藏表行,添加到表的末尾

PHP/JQuery克隆隐藏表行,添加到表的末尾,php,jquery,Php,Jquery,我有一个表,第一个TR被隐藏(style=“display:none;”)。我在表的顶部有一个按钮,允许用户向表中添加新行。单击时,我希望将隐藏行克隆并添加到表的底部。我认为这是最好的方式,因为我可以预先设置行的格式,以便在新行中准确地包含我需要的内容 以下是我到目前为止的JQuery: $(document).ready(function($) { $(".dispadd").click(function() { $('#hiddenrow').clone().show().

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

以下是我到目前为止的JQuery:

$(document).ready(function($) {
   $(".dispadd").click(function() {
      $('#hiddenrow').clone().show().appendTo( $('#hiddenrow').parent() );
   });
});
它似乎按预期添加了行,但在一秒钟内,新行消失了。 有人知道我做错了什么吗

\uuuuuuuuuuuuu最新代码\uuuuuuuuuuuuuu

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

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

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

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

演示:

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

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

演示:

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

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

如果将show移到末尾会怎么样?如何
。removeAttr('id')
,因为这可能会使其隐藏/不显示?使
#hiddenrow
隐藏的所有规则。。。可能会应用…如果您将show移到末尾怎么办?如何
.removeAttr('id')
,因为这可能会使它隐藏/不显示?使
#hiddenrow
隐藏的所有规则。。。可能会应用…在单击按钮并使新行出现然后快速消失后,我检查了源代码,但它也不在那里。Firebug允许您在添加或删除子项时设置断点-这应有助于跟踪删除行的内容。检查表,然后在Firebug的DOM选项卡中右键单击它,然后单击“在添加或删除子项时中断”,我想我正在缩小它的范围。我的桌子用一张纸包着。提交表单时,它会对表单进行处理,然后用新的数据库数据重新填充表单。有什么东西可以添加到JQuery中来阻止按钮提交我的表单吗?是的,
event.preventDefault()
会处理好的-我真的很感谢你的帮助Kelvin!还有其他提出建议的人!单击按钮并使新行出现然后快速消失后,我检查了源代码,但它也不在那里。Firebug允许您在添加或删除子级时设置断点-这应有助于跟踪删除行的内容。检查表,然后在Firebug的DOM选项卡中右键单击它,然后单击“在添加或删除子项时中断”,我想我正在缩小它的范围。我的桌子用一张纸包着。提交表单时,它会对表单进行处理,然后用新的数据库数据重新填充表单。有什么东西可以添加到JQuery中来阻止按钮提交我的表单吗?是的,
event.preventDefault()
会处理好的-我真的很感谢你的帮助Kelvin!还有其他提出建议的人!