[原创]jsTree中添加checkbox,获取选中节点和半选中节点,jQuery插件jsTree

2017-03-18Javascript11171

[原创]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);

分享:

支付宝

微信