<link rel="stylesheet" type="text/css" href="js/assets/global/plugins/jstree/dist/themes/default/style.min.css" target="_blank" rel="external nofollow" />
<script type="text/javascript" src="js/assets/global/plugins/jstree/dist/jstree.min.js"></script>
<div style="overflow-y: auto; overflow-x: auto; width: 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