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

  

posted @ 2018-09-30 14:01  唔愛吃蘋果  阅读(575)  评论(0编辑  收藏  举报