0

フォームにボタンがあり、ボタンを押すと、jQuery DataTable を含むモーダル ウィンドウが表示され、10 または 20 のエントリを検索、移動、またはページ分割して表示できますが、TR を押してその中の各 TD の情報を取得すると、 TR でこの情報をフォームの 3 つの要素に入れ、モーダル ウィンドウを閉じます... OK ですが、もう一度ボタンを押してモーダル ウィンドウを開いてデータテーブル、検索機能を表示したり、より多くのエントリを表示したり、ページネーションが機能しなくなったりすると、機能しなくなります

データテーブルを作成する

$('#tableResults').dataTable({
    "sPaginationType" : "full_numbers"
});

モーダルウィンドウを実行

$('#button').click(function() {
        $("#divModal").modal({onClose: function (dialog) {
              dialog.container.fadeOut('slow', function () {
                    $.modal.close();
              });
        }});
    });

イベント クリック TR

$('#tableResults tr:gt(0)').live('click', function() {  
        name = $(this).closest('tr').find('td:eq(0)').text();
        lastname = $(this).closest('tr').find('td:eq(1)').text();
        email = $(this).closest('tr').find('td:eq(2)').text();

        $('#name').text("Name: "+name);
        $('#lastname').text("Last Name: "+lastname);
        $('#email').text("Email: "+email);
        $.modal.close();
    });

事前に説明していただき、ありがとうございます。

4

1 に答える 1

2

Simplemodal のドキュメントには次のように書かれています。

デフォルトでは、SimpleModal は渡されたデータ要素を複製します。ダイアログを閉じると、複製された変更されていないデータ要素が DOM の元の場所に再挿入されます。persist オプションが true の場合、SimpleModal は元の要素を「再挿入」し、変更をそのままにします。onClose コールバックを使用する場合は、$.modal.close(); を呼び出す必要があります。(上記のオプションとコールバック セクションの onClose を参照してください)。

persist [Boolean:false] モーダル呼び出し間でデータを保持しますか? 既存の DOM 要素にのみ使用されます。true の場合、データはモーダル呼び出し間で維持されます。false の場合、データは元の状態に戻されます。

persist: trueそのため、Simplemodal オプションを設定するのがコツのようです。

$('#button').click(function() {
    $("#divModal").modal({
        persist: true,
        onClose: function (dialog) {
            dialog.container.fadeOut('slow', function () {
                $.modal.close();
            });
        }
    });
});
于 2012-10-29T01:36:05.893 に答える