0

最初の TR が非表示のテーブルがあります (style="display:none;")。ユーザーがテーブルに新しい行を追加できるように、テーブルの上部にボタンがあります。クリックすると、非表示の行が複製され、テーブルの下部に追加されます。NEW 行に必要なものを正確に含めるために行を事前にフォーマットできるため、これが最善の方法だと考えています。

これが私がこれまで持っているJQueryです:

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

期待どおりに行が追加されたように見えますが、1 秒以内に新しい行が消えます。誰かが私が間違っていることを見ていますか?

__ _ __最新のコード__ _ ____

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

#hiddenrow を親テーブルの外に移動した後、少し変更する必要がありました。複製された行の入力ボックスの 1 つの値を設定するにはどうすればよいですか?

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 クラスと ID

于 2012-11-09T00:56:50.550 に答える