2014-02-03 5 views
1

Я использую плагин jtree в своем приложении. Я хочу отключить все флажки в jstree в режиме редактирования. Флажок программно проверяется после загрузки jstree. мое единственное, что нужно отключить все флажки.Отключить все флажки в JStree

$("#testId").jstree({ 
      "json_data" : {    
       "data" : rootNode, 
       "progressive_render" : true, 
       "progressive_unload" : true 

      }, 
      "checkbox" : { 
     "two_state" : true 
     }, 
       "themes" : { 
       "theme" : "apple", 
       "dots" : false, 
       "icons" : false 
      },  
       "plugins" : [ "themes", "json_data", "ui", "checkbox"] 
     }); 
+0

'if ($ ('input [type = checkbox']: checked) .length) {}' будет проверять, проверен ли хотя бы один флажок –

ответ

1

Вы можете использовать любой код, снимите флажок внутри

.bind("loaded.jstree",function(e,data){ 

//your jquery code for check and uncheck. 

}); 

это вызовет требуемое действие при загрузке дерева.

Если вы столкнулись с проблемами, дайте мне знать.

-1

Demo FIDDLE

Jquery

$('.check').eq(4).prop('checked',true); //checkbox checked 
if($('.check:checked').length>0) 
    $('.check').attr('disabled','disabled'); 

$('.check1').eq(3).prop('checked',true); //checkbox checked 
if($('.check1:checked').length>0) 
    $('.check1').not($('.check1').eq(4)).attr('disabled','disabled'); 

В соответствии с вашим состоянием вы измените класс

+0

Предложение: Используйте '.prop()' вместо '.attr() ' – Satpal

+0

Этот ответ не связан с JSTree. Кроме того, JSTree не использует реальные флажки. Вместо этого он отображает флажки с помощью тегов . –

2

Еще одна вещь, которая могла бы работать для вас будет,

Вы можете programmaticly проверить и снимите необходимые флажки на основе данных JSON или JavaScript в

.bind("loaded.jstree",function(e,data){ 

//your jquery code for check and uncheck. 

}); 

позже отключить проверку и снимите флажок jstree флажок вы можете сделать следующее:

.bind("check_node.jstree",function(e,data){ 
     return false; 
}); 

.bind("uncheck_node.jstree",function(e,data){ 
     return false; 
}); 

Это запретит пользователю изменять состояние флажка.

Я обнаружил это при экспериментировании !!!

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