禁用数据表复选框

时间:2016-08-22 08:46:08

标签: javascript html checkbox datatable webix

关于我的previous question我有另一个问题:有没有办法在Webix中禁用数据表复选框?

目前,我找到了blockEvent() API,但它只允许我恢复onCheck事件中的值。它完全破坏了masterCheckbox的工作:

on:{
  onCheck:function(rowId, colId, value){        
    if(colId == "ch1")
      this.blockEvent(); 
    var item = this.getItem(rowId);
    item.ch1 = item.ch1?0:1; 
    this.updateItem(rowId, item);       
    this.unblockEvent();            
  }
}

以下是展示此问题的snippet

还有其他方法吗?任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以分别使用禁用/启用功能而不是blockEvent / unblockEvent。

<强> [更新] 根据对您的问题的理解,我已经为复选框实现了自定义类型,这将禁用除masterCheckbox之外的所有复选框。如果您单击masterCheckbox然后它可以正常工作,否则如果您尝试编辑特定复选框,则它们会被禁用。请参阅以下代码“type”

type:{
          checkbox:function(obj, common, value, config){
            var checked = (value == config.checkValue) ? 'checked="true"' : '';
            return "<input class='webix_table_checkbox' type='checkbox' "+checked+""+(obj.id>0?"disabled":"")+">";
          }
     }

您可以在此处查看代码段:http://webix.com/snippet/9d99ed02