[原创]jsTree中添加checkbox,获取选中节点和半选中节点,jQuery插件jsTree
我用的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);