加载时检查jstree复选框

我正在使用jQuery jsTree插件复选框。 好的,我已经找到了如何处理检查或取消选中复选框的事件。 如果它有用,我可以粘贴代码:

.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; }) 

有了这一切都没关系,但知道我无法找到任何地方如何检查树加载的复选框,例如,如果我使用jsTree像我的新闻项目的类别选择器当我创建新的新闻项目一切都很好,当我想要更新该项我需要jsTree与选定的类别,这是我无法找到任何示例如何选择加载jsTree上的节点。

对这个问题有任何帮助吗?

如果您使用的是JSON_DATA,请将class:jstree-checked添加到节点的attr对象:

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

对于当前的JSTREE版本3.2.1和JSON数据,我们需要使用state:{checked:true}

并添加到配置复选框部分

“checkbox”:{“tie_selection”:false}

这个例子很好用

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

通过将复选框插件选项two_state设置为true,我找到了解决方案

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

然后,如果您使用Xml数据,请在params中添加class="jstree-checked"

一切都很好 :)

祝好运 ;)

试试这个:

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

它对我有用。

以下是相关参考:

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

可能这会对你有所帮助 – jstree v1

   

下面 – 用于检查和取消选中jstree的事件绑定

  

服务器端Asp.net MVC

"state" : { "selected" : true }选中一个复选框

  $('#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"] });