0

我在表单中有一个按钮,按下时会显示一个包含 jQuery DataTable 的模式窗口,我可以搜索、导航或分页并显示 10 或 20 个条目,但是当我按下任何 TR 以获取其中每个 TD 的信息时TR 并将此信息放在表单中的 3 个元素中并关闭模式窗口... 可以,但如果我再次按下按钮以打开带有数据表的模式窗口、搜索功能、显示更多条目或分页不再起作用

创建数据表

$('#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 选项为真,SimpleModal 将“重新插入”原始元素,更改保持不变。如果您使用 onClose 回调,则需要调用 $.modal.close(); (请参阅上面选项和回调部分中的 onClose)。

persist [Boolean:false] 跨模式调用持久化数据?仅用于现有的 DOM 元素。如果为真,数据将在模态调用中保持,如果为假,数据将恢复到其原始状态。

所以诀窍似乎是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 回答