我用的jsTree版本是3.3.3
第一个思路:直接修改jsTree源码,
这个也是我百度出来的,修改一下适合jsTree版本3.3.3
大概在5714行后面:
this.get_all_checked = function(full) {
var tmp=new Array;
for(var i in this._model.data){
if(this.is_undetermined(i)||this.is_checked(i)){tmp.push(full?this._model.data[i]:i);}
}
return tmp;
};
使用方法:
var checkedNodes = $('#gemingcao-jstree').jstree("get_all_checked");
var checkedNodes = $('#gemingcao-jstree').jstree(true).get_all_checked();
var checkedNodes = $('#gemingcao-jstree').jstree(true).get_all_checked(true);
第二种方法:只是把放在源码里面的搬出来了。
直接对jstree实例添加get_all_checked方法,不用改动源码。使用方法一样。
$('#gemingcao-jstree').jstree(true).get_all_checked = function(full) {
var tmp=new Array;
for(var i in this._model.data){
if(this.is_undetermined(i)||this.is_checked(i)){tmp.push(full?this._model.data[i]:i);}
}
return tmp;
};
使用方法:
var checkedNodes = $('#gemingcao-jstree').jstree("get_all_checked");
var checkedNodes = $('#gemingcao-jstree').jstree(true).get_all_checked();
var checkedNodes = $('#gemingcao-jstree').jstree(true).get_all_checked(true);