checkbox de seleção jstree marcada na carga

Eu estou lutando com jQuery jsTree plugin checkbox. Ok, descobri como lidar com events ao marcar ou desmarcar a checkbox de seleção. Se for útil, posso colar um código:

.bind("check_node.jstree", function(e, data) { if(data.rslt.obj !== undefined && data.rslt.obj.attr(\'id\') !== undefined) { jQuery.ajax({ async : false, type: "POST", dataType: "json", url: "adsmanager/adsfields/ajaxappendcategory", data: { "id" : data.rslt.obj.attr(\'id\'), "itemId" : "' . Yii::app()->getRequest()->getParam('id') . '", }, success: function(r) { if(r === undefined || r.status === undefined || !r.status) { data.rslt.obj.removeClass(\'jstree-checked\'); data.rslt.obj.addClass(\'jstree-unchecked\'); } else { niceBox(\'ok\'); } } }); } return true; }) 

Com isso tudo está ok, mas sei que não consigo encontrar em qualquer lugar como marcar as checkboxs de seleção na carga da tree, por exemplo, se eu estou usando jsTree como categoria selector para minhas notícias Item quando eu crio novas notícias tudo está ok e quando eu quero atualizar esse item eu preciso jsTree com categorias selecionadas e é que eu não consigo encontrar qualquer exemplo como selecionar nós no carregamento jsTree.

Qualquer ajuda com esta pergunta?

Se você estiver usando JSON_DATA, adicione class:jstree-checked ao object attr do nó:

 { "data": "node name", "attr": { "id": "node id", "class":"jstree-checked" } } 

Para os dados atuais da versão 3.2.1 e JSON do JSTREE, precisamos usar state: {checked: true}

e adicionar à configuração para a seção da checkbox de seleção

“checkbox”: {“tie_selection”: false}

este exemplo funciona bem

 data : [ { "text" : "Root", state : { opened : true }, children : [ { "text" : "Child 2", state : { checked : true }, ] 

Eu encontrei a solução, definindo a opção de plugin da checkbox de seleção two_state para true

 "checkbox" => array( "two_state" => true) 

e, em seguida, se você estiver usando dados Xml, adicione class="jstree-checked" em params

tudo bem 🙂

boa sorte 😉

Tente isto:

 $("#jstree").jstree(true).load_node('#'); 

Isso funcionou para mim.

Aqui estão referências relacionadas:

https://groups.google.com/forum/#!topic/jstree/bPv19DwQYFU

Pode ser isso vai te ajudar mais – jstree v1

   

abaixo – para verificar e desmarcar o evento bind para jstree

  

Lado do servidor Asp.net MVC

"state" : { "selected" : true } Seleciona uma checkbox de seleção

  $('#frmt').jstree( { 'core' : { 'data' : [{ "text" : "root text", "state" : { "opened" : true } , "children" : [{ "text" : "child text", "id" : "idabc", "state" : { "selected" : true } , "icon" : "jstree-file", }] }, ]}, 'checkbox': { three_state: true }, 'plugins': ["checkbox"] });