DataTables Editor -Button扩展如何在选择行时禁用特定按钮?

时间:2015-11-06 14:58:02

标签: button datatables editor

将DataTable(v 1.10)与Editor插件和按钮扩展一起使用, 我想在行中的字段具有值>时禁用行选择时删除按钮。 0

 var nb_users;
 var table = $('#groups').DataTable( {
     dom: 'Bftlp',
     select: true,
     ...
     buttons: [
        { extend: "create", editor: editor },
        { extend: "edit",  editor: editor },
        { extend: "remove",  editor: editor }
     ]
  });

  table
     .on( 'select', function ( e, dt, type, indexes ) {
        var rowData = table.rows( indexes ).data().toArray();
        nb_users = rowData[0].nb_users;
        if (nb_users > 0) {
           $('.buttons-remove').addClass('disabled');
        }
      } )
      .on( 'deselect', function ( e, dt, type, indexes ) {
          if (nb_users > 0) {
             $('.buttons-remove').removeClass('disabled');
          }
      } );

但它根本不会禁用/启用“删除”按钮...

我不知道编辑器扩展程序是否在.on之前或之后触发了这些按钮(' select')。 是否有任何可以为这些编辑器按钮设置特定触发器的方法?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以通过以下代码

来实现此目的
table.on( 'select', function () {
    var nb_users = table.row({ selected: true }).data().nb_users;
    if (nb_users > 0) {
       table.button(2).disable(); // 0 for Create, 1 for Edit, 2 for Remove
    }
} );

您可以查看This Datatable Example

中的示例