jstree动态添加节点时怎么刷新

 我来答
203斤的大胖子
2016-08-10 · TA获得超过138个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:72.2万
展开全部
var UITree = function () {

var contextualMenuSample = function() {
$.jstree.destroy ("#tree_3");
$('#tree_3').jstree({
"core" : {
"themes": {
"responsive": false
},
"check_callback": true,
"force_text": true,
"cache": false,
'state':open,
'data': {
"url": function() {
return "/authority/showOnlyTheme";
},
"data":function(node){
return {"id" : node.id};
}
}
},
"plugins": [ "contextmenu", "ui"]
/*'contextmenu':{
'items':{
'edit':null
}
}*/

}).bind("loaded.jstree", function () {
jQuery("#tree_3").jstree("open_all");
}).bind("create_node.jstree",function(event,data){
createCategory(event,data);
}).bind("rename_node.jstree",function(event,data){
rename(event,data);
}).bind("delete_node.jstree",function(event,data){
reMove(event,data);
})
}

return {
init: function () {

contextualMenuSample();

}

};

function createCategory(event,data){
var str = data.parent;
var parentId = str.substring(1);;
if(!str.match(/^c\d+/g)){
parentId = -1;
}
var newNodeName = data.node.text;
var params = {"parentId":parentId,"name":newNodeName,"rootId":parentId};
$.ajax({
'url':"/categoryManager/addOrUpdate",
'type':"post",
'dataType':'json',
'cache':false,
'data':params,
'timeout':1000*10
}).done(function(json){
var id = data.node.id;
var categoryId = json.data;
$(data.node).attr("id",categoryId);//此处修改成后台返回的id
}).fail(function(e){
Metronic.unblockUI();
alert("亲出错了,请稍后再试");
})
}

function rename(event,data) {
var str = data.node.id;
if(str.match("#")) {
alert("不能修改根节点");
return;
}
var id = str.substring(1);
var name = data.text;
var params = {"id":id,"name":name};
$.ajax({
'url':'/categoryManager/updateName',
'type':'post',
'dataType':'json',
'data':params,
'cache':false,
'timeout':1000*10
}).fail(function(){
Metronic.unblockUI();
alert("亲出错了,请稍后再试~");
})
}

function reMove(event,data) {
var str = data.node.id;
if(str.match("#")) {
alert("亲,不能删除根节点");
return ;
}
var id = str.substring(1);
var params = {"id":id};
$.ajax({
'url':"/categoryManager/del",
'type':"post",
'dataType':"json",
'data':params,
'cache':false,
'timeout':1000*10
}).done(function(json){
if(json.ret==false) {
alert(json.errmsg);
}
}).fail(function(json){
Metronic.unblockUI();
alert("亲出错了,请稍后再试~");
})

}

}();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式