jsTree checkbox plugin使用笔记

<link rel="stylesheet" type="text/css" href="js/assets/global/plugins/jstree/dist/themes/default/style.min.css" />

<script type="text/javascript" src="js/assets/global/plugins/jstree/dist/jstree.min.js"></script>

<div style="overflow-y: auto; overflow-x: auto;  100%; height: 534px;" id="jstree_bsbm_div"></div>

//构造树型结构
	var handleTree = function() {

		getTreeData();
		$("#jstree_bsbm_div").on('select_node.jstree', function(node,selected,event) {
			  //绑定选中事件处理函数
			  id = selected.node.id;
			  parent = selected.node.parent;
			  jc = selected.node.original.jc;
			  freshtable();
		}).on('refresh.jstree', function(node,selected,event) {
			  //刷新事件处理函数
			getTreeData();
		});
		
		  
	};
	
	
	//获取树形数据
	var getTreeData = function(){
		var aData = {
        		type: "2",
        		roledm: roledm,
        }
		$.ajax({
			type : "POST",
			url : "basic/getQxTree",
			dataType : "json",
			contentType : 'application/json', //定义格式
            data : JSON.stringify(aData), //把json转为String传递给后台
			success : function(data) {

				$('#jstree_bsbm_div').data('jstree', false).empty();
				$("#jstree_bsbm_div").jstree({
					'core': {
	                    'data': data,
	                },
	                plugins: [ "wholerow", "checkbox","types","themes"],
	                "checkbox": {
	                    "keep_selected_style": false,//是否默认选中
	                },
				})
				
				// 获取树
			    var menuTrees = $('#jstree_bsbm_div').jstree(true);
			    // 清空级联关系
			    var oldCascade = menuTrees.settings.checkbox.cascade;
			    menuTrees.settings.checkbox.cascade = '';
			    // 重置级联关系
			    setTimeout(function () {
			        menuTrees.settings.checkbox.cascade = oldCascade;
			    }, 500);

			},	
			error : function(e) {
	        	Metronic.alert({
	                type: 'danger',
	                icon: 'warning',
	                message: '树形数据获取失败!',
	                place: 'prepend',
	                closeInSeconds:5,
	                container:'#profileAlertsMsg',
	                focus:true
	            });
			}
		});
	};
	
	
	
    $("#btn_save").on("click",function() {
    	var ref = $('#jstree_bsbm_div').jstree(true);
    	ref.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 nodes = ref.get_checked();  //使用get_checked方法
        
//        var checkedNodes = ref.get_all_checked(true);  //获取所有选中节点值,返回是数组(父节点,子节点)
        var  nodes=ref.get_all_checked();//获取所有选中节点id(父节点,子节点)
        
        
    	aData = {
    			roledm: roledm,
    			permissions: nodes,
        };
        $.ajax({
            cache : false,
            type : 'POST',
            url : 'basic/addRolePermission',
            dataType : "json",
            contentType : 'application/json', //定义格式
            data : JSON.stringify(aData), //把json转为String传递给后台
            error : function(aData) {
            	cleaninput();
            },
            success : function(data) {
            	Metronic.alert({
		            type: 'success',
	                icon: 'success',
		            message: data.message,
		            place: 'prepend',
		            closeInSeconds:5,
		            container:'#rolePermissionproAlertsMsg',
		            focus:true
		        });
            }
        });
        $("#role_permission").modal('hide');
        return false;
    });
原文地址:https://www.cnblogs.com/sunBinary/p/11303269.html