在下拉列表更改时加载bootstrap数据表

时间:2016-09-07 11:13:17

标签: datatables

我是jquery / bootstrap Datatables的新手,我正在尝试在应用程序中使用它。

我有一个模态弹出窗口,其中有一个选择下拉列表。当我想要选择下拉值更改时 调用服务器并以模态显示dataTable网格。 最初,当模态弹出窗口加载时,我不想显示网格,甚至不显示网格。 我想仅在下拉列值更改时显示网格。 每次下拉值更改时,网格都必须重新加载。

我一直在尝试参数组合,但它不起作用。 我尝试使用' iDeferLoading' bDeferRender',table.ajax.reload()等,但它没有按预期工作。 使用下面的代码网格总是在第一次加载模态弹出窗口时加载。

$(document).ready(function (){
        var table = null;
        $("#userType").change(function() {
            var userType = $(this).val();
            if (userType == "test") {
                table = $('#example').DataTable({
                  'ajax': {
                     'url': '/test/getAllPlatforms?itemId=' + $('#itemId').val(),
                     "dataSrc": ''
                  },
                  "columns": [
                              { "data": "selected" },
                              { "data": "id" },
                              { "data": "platformName" },
                              { "data": "itemPrice" },
                              { "data": "revenueShare" }

                          ],

                  columnDefs: [ {
                        orderable: false,
                        className: 'dt-body-center',
                        targets:   0,
                        'render': function (data, type, full, meta){
                            console.log(data + " : " + full);
                            var checked = "";
                            if (data == true) {
                                checked = "checked";
                            }
                            return '<input type="checkbox" name="id[]" value="' + $('<div/>').text(data).html() + '" ' + checked + '>';
                        }
                    }

                  ],
                    select: {
                        style:    'os',
                        selector: 'td:first-child'
                    },
                    order: [[ 1, 'asc' ]],
                    'iDeferLoading': 1,
                    'bDeferRender': true
               });
            }
        });
    });  

0 个答案:

没有答案