2015-11-06 112 views
1

使用的DataTable(V 1.10)與編輯器插件,按鈕擴展, 我試圖禁用於行選擇刪除按鈕,當行中的一個字段的值> 0DataTables Editor - 按鈕擴展如何在選擇行時禁用特定按鈕?

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')之前或之後觸發這些按鈕.. 是否有任何coll方式來設置這些編輯器按鈕的特定觸發器?

感謝您的幫助

回答

0

您可以通過下面的代碼

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

檢查例如達致這