【问题标题】:Initializing X-editable on datatable redraw在数据表重绘上初始化 X-editable
【发布时间】:2016-03-26 18:45:40
【问题描述】:

我有一个在用户请求新数据时重绘的数据表。例如,它可能会显示所有成员,然后当用户单击按钮时,会重新绘制表格以仅显示过期成员。

我正在使用 x-editable 来编辑出现在数据表单元格中的字段。我让它在初始绘制时工作得很好,但是当重新绘制表格时我无法让 x-editable 出现。

这是我尝试过的:

1):使用draw.dt事件——

 $('#memberTable').on( 'draw.dt', function () {
        showEditable();  
        // continue with other things that are initialized on draw.dt all of which work
  });

  function showEditable(){
        $('.testX a').editable({
        type: 'text',
        pk:  function () {
            return $(this).closest("td").data("id");
        },
        url: '/update_task/',
        title: 'Edit Term'
    });
};

2):直接对datatable初始化drawCallBack

  $('#memberTable').dataTable({
    columnDefs: [{ searchable: false, targets: 3 }],
    processing: true,
    pageLength: 20,
    lengthMenu: [[10, 20, 50, -1], [10, 20, 50, 'All']],
    drawCallback: function( settings ) {
        $('.testX a').editable({
        type: 'text',
        pk:  function () {
            return $(this).closest("td").data("id");
        },
        url: '/test',
        title: 'Edit'
    });
    alert( 'DataTables has redrawn the table' );
}
});

有人看到我在数据表重绘上使 x-editable 工作缺少什么吗? TIA。

【问题讨论】:

    标签: jquery datatables x-editable


    【解决方案1】:

    以下解决方案帮助了我:

    // Initiate the x-editable plugin
    function get_editable() {
        $.fn.editable.defaults.mode = 'popup';
        $('.xedit').editable();
    } 
    
     // Initiate the DataTable
    table = $('#table').DataTable({
                option...
                drawCallback: function (settings) {
                    get_editable();
                },
                option...
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多