2016-08-22 4 views
0

Относительно моего previous question У меня есть еще одна проблема: есть ли способ отключить привязанные к данным флажки в Webix?Отключить данные checkbox

На данный момент я нашел API blockEvent(), но он позволяет мне только возвращать значения внутри события 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, демонстрирующую проблему.

Есть ли другой подход? Любые идеи приветствуются.

ответ

0

вы можете просто использовать функции disable/enable вместо blockEvent/unblockEvent соответственно.

[обновление] В соответствии с пониманием вашего вопроса, я реализовал пользовательский тип для флажка, который будет отключить все галочки inititally кроме masterCheckbox. Если вы нажмете на masterCheckbox, тогда все будет хорошо, иначе, если вы попытаетесь отредактировать конкретный флажок, они будут отключены. Пожалуйста, смотрите ниже код для «типа» :

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

+0

, но в таких случае значение по-прежнему отменены, когда мастер чекбокс щелкнул, так же, как это было раньше :( – AndyLurch

Смежные вопросы