【问题标题】:Search Datatable after data loaded加载数据后搜索数据表
【发布时间】:2017-03-07 10:12:02
【问题描述】:

我在 Rails 4.2 项目中使用 DataTables 1.10。我在 js 资产文件中有以下内容:

var table = $('#ticket_details').DataTable({
stateSave: true,
deferRender: true,
ajax: $('#ticket_details').data('source'),
"columns": [ 
    { "data": "reference_number" },
    { "data": "location" },
    { "data": "title" },
    { "data": "ticket_category", className: "hidden-xs" },
    { "data": "opened_date" },
    { "data": "last_update", className: "hidden-sm hidden-xs"  },
    { "data": "time", className: "hidden-xs", "orderData": 7 },
    { "data": "decimal_time", "searchable": false, className: "hidden-lg hidden-md hidden-sm hidden-xs hidden"},
    { "data": "open_or_closed", className: "hidden-lg hidden-md hidden-sm hidden-xs hidden"},
    { "data": "assigned_to", className: "hidden-md hidden-sm hidden-xs" },
    { "data": "icons", className: "hidden-sm hidden-xs"  }]} );      

setInterval( function () {
table.ajax.reload( null, false ); }, 60000 );

我希望在我的隐藏列中搜索表格,该列显示票是打开还是关闭。我有两个按钮,后面有一些 JS 在打开和关闭之间切换,但我希望它默认打开票

$('#ticket_details').dataTable( {
   "initComplete": function(settings, json) {
    table.columns(8).search("Open").draw();
  }
} );

$('#open_toggle').on('click', function () {
      table.columns(8).search("Open").draw();
});

$('#closed_toggle').on('click', function () {
      table.columns(8).search("Closed").draw();
});

但是,当您加载页面时,表格会显示所有内容。当然,如果我使用 drawCallback() 然后重新绘制表格,它只会创建一个无限循环吗?

【问题讨论】:

    标签: datatables-1.10 jquery-datatables-rails


    【解决方案1】:

    您可以使用search 选项link 进行初始搜索

    有些喜欢:

    var table = $('#ticket_details').DataTable({
        "search": {
            "search": "Fred"
        },
        stateSave: true,
        deferRender: true,
        ajax: $('#ticket_details').data('source'),
        "columns": [ 
            { "data": "reference_number" },
            { "data": "location" },
            { "data": "title" },
            { "data": "ticket_category", className: "hidden-xs" },
            { "data": "opened_date" },
            { "data": "last_update", className: "hidden-sm hidden-xs"  },
            { "data": "time", className: "hidden-xs", "orderData": 7 },
            { "data": "decimal_time", "searchable": false, className: "hidden-lg hidden-md hidden-sm hidden-xs hidden"},
            { "data": "open_or_closed", className: "hidden-lg hidden-md hidden-sm hidden-xs hidden"},
            { "data": "assigned_to", className: "hidden-md hidden-sm hidden-xs" },
            { "data": "icons", className: "hidden-sm hidden-xs"  }
        ]
    });  
    

    【讨论】:

    • 我以前试过这个。我的问题是切换按钮不起作用。您的解决方案让我意识到,在搜索特定列之前,我需要将全局表搜索设置为空字符串。有没有办法让初始表定义只搜索第 10 列?
    • 不知道,可能跟columns().search()link
    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多