JQuery UI 对话框中的 JQuery Datatables 插件未加载

标签 jquery jquery-ui datatables jquery-ui-dialog

我有这段代码,其中 url 是某个带有 id="table"的表元素的页面

$('#dialog').load(url).dialog({
    'modal' : true,
    open: function(event, ui) {
        var table = $('#dialog #table').dataTable();
    },
    close: function(event, ui) { 
        $('#dialog').empty();
    }
});

我遇到的问题是数据表似乎没有加载到 open() 事件处理函数内。我还尝试将数据表代码放入 create() 事件处理函数中,但无济于事。非常奇怪的是,当我在 open() 函数中添加一个alert() 时,

open: function(event, ui) {
    alert('test');
    var table = $('#dialog #table').dataTable();
},

它确实加载了。

知道问题出在哪里吗?

最佳答案

可能是您的选择器错误?尝试 $('#table').dataTable();

或者您可以为表分配一个类,例如 class="mytable" 并更改为选择器,如下所示:

$('.mytable').dataTable();

关于JQuery UI 对话框中的 JQuery Datatables 插件未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646194/

相关文章:

javascript - 带有图标的数据表不根据其他列对列进行排序

php - 定义自定义颜色

javascript - TYPO3 7.6 无灯箱扩展工作

jquery - 如何在单击按钮时关闭 Bootstrap 下拉菜单?

jquery - 我可以使用 Jquery UI 进入 Konva (Kineticjs) 阶段并保存到 JSON 字符串吗?

javascript - 使用Datatables导出动态表

javascript - 一次一个标记动画 Google Maps Api 3

javascript - 使用 JS-grid 实现添加列

jQuery UI 可拖动和页面滚动(在移动设备上)

javascript - DataTables localeCompare排序,无法让它工作