Javascript 选中行时启用自定义按钮(默认禁用)

Javascript 选中行时启用自定义按钮(默认禁用),javascript,jquery,datatables,datatables-1.10,tabletools,Javascript,Jquery,Datatables,Datatables 1.10,Tabletools,我有一个DataTable,它显示分支的数据,定义了两个自定义按钮:Add和Update。它们在Javascript部分的顶部初始化 var buttons; var tblBranch; $.fn.dataTable.ext.buttons.add = { className: 'button-add', text: "Add Branch", action: function (dt) {

我有一个DataTable,它显示分支的数据,定义了两个自定义按钮:Add和Update。它们在Javascript部分的顶部初始化

var buttons;
var tblBranch;

$.fn.dataTable.ext.buttons.add = {
            className: 'button-add',
            text: "Add Branch",
            action: function (dt) {
                onBtnAddClicked()
            }
        };

$.fn.dataTable.ext.buttons.update = {
            className: 'button-update',
            text: "Update",
            action: function (dt) {
                onBtnUpdateClicked()
            }
        };
我想禁用页面加载上的编辑按钮,只在选中一行时才允许单击它。问题是,我正在使用自定义按钮,但在datatables.net上找不到任何关于如何根据条件启用/禁用它们的信息。到目前为止,我尝试的是:

tblBranch = $("#tblBranches").DataTable({
        dom: 'Blfrtip',
        buttons: {
            buttons :[
                'add', 'update'
            ]
        }
        select: true;
})

$("#tblBranches tbody").on('click', 'tr', function () {
        if (tblBranch.row(this).hasClass('selected')) {
             $('button-update').removeClass("DTTT_disabled");
        }
        else {
             table.$('tr.selected').removeClass('selected');
             $('button-update').addClass("DTTT_disabled");
        }
});
但我不知道加载页面时禁用编辑按钮的代码应该是什么样的,我已经看过了


感谢您的指导。

您所指的最后一个链接保留了您正在寻找的解决方案。但是文档有点模糊,我想它需要一个可靠的例子。不清楚如何创建按钮(您显示了这两个方法),但下面是一个内联示例,它也可以与构造函数一起使用。只需给按钮一个类,如
。编辑
,并从一开始将其设置为禁用:

var table=$('#示例')。数据表({
dom:'Bfrtip',
选择:true,
按钮:[
{
文本:“编辑”,
类名:“编辑”,
启用:false,
动作:函数(e、dt、节点、配置){
//做点什么
}
},
{
文本:“添加”,
动作:函数(e、dt、节点、配置){
//做点什么
}
}
]
})
然后使用选择插件
选择
取消选择
事件更新
启用的
状态。编辑
按钮:

$(“#示例”).on('select.dt deselect.dt',function(){
表.按钮(['.edit'])。启用(
table.rows({selected:true}).index().length==0?false:true
)
})
演示->