Php 创建新的jstree节点后如何设置id?
我正在使用JStree1.0。并具有以下代码:Php 创建新的jstree节点后如何设置id?,php,jquery,json,jstree,Php,Jquery,Json,Jstree,我正在使用JStree1.0。并具有以下代码: $(document).ready(function () { $("#folders_tree").jstree({ "core": { "initially_open": ["root"] }, "html_data": { "data": '<?= $folders; ?>' }, "themes": {
$(document).ready(function () {
$("#folders_tree").jstree({
"core": {
"initially_open": ["root"]
}, "html_data": {
"data": '<?= $folders; ?>'
}, "themes": {
"theme": "default",
"dots": true,
"icons": true,
"url": "<?= Yii::app()->request->baseUrl ?>/css/jstree/themes/default/style.css"
}, "contextmenu": {
"items": {
"create": {
"label": "Create",
"action": function (obj) {
this.create(obj);
}, "_disabled": false,
"_class": "add",
"separator_before": false,
"separator_after": false,
"icon": false
}, "rename": {
"label": "Rename",
"action": function (obj) {
this.rename(obj);
}, "_disabled": false,
"_class": "rename",
"separator_before": false,
"separator_after": false,
"icon": false
}, "remove": {
"label": "Delete",
"action": function (obj) {
this.remove(obj);
}, "_disabled": false,
"_class": "delete",
"separator_before": true,
"separator_after": false,
"icon": false
}, "ccp": false
}
},
"plugins": ["themes", "html_data", "ui", "crrm", "contextmenu"]
});
/* Callbacks */
var folders = $("#folders_tree");
folders.bind("create.jstree", function (e, data) {
var parent_id = data.rslt.parent[0].id;
var name = data.rslt.name;
var node = data.args[0];
var dataArray = {
"ref_folder": parent_id,
"name": name
};
var dataString = JSON.stringify(dataArray);
$.ajax({
type: 'POST',
url: '<?= Yii::app()->createUrl('
ajax / createfolder ') ?>',
data: {
data: dataString
}, success: function (jdata) {
var json_data = JSON.parse(jdata);
// Here's! This code is not working. Id is not set.
$(node).attr("id", json_data.new_id);
}, dataType: 'text'
});
});
});
我被困在这个问题上:(我如何设置这个id?我会在成功回调中执行警报(jdata)
确保服务器正在返回安全的JSON,并且实际的
新id
属性存在。节点变量必须声明为:
var node = data.rslt.obj;
并称为:
node.attr("id", json_data.new_id);
“不工作”不是什么错误描述。你能更具体一点吗?创建的节点的Html属性“ID”没有设置为存储在json_data.new_ID.Yes中的ID。它是存在的。响应是:{“new_ID”:“node1106”}那么
节点
不是你想要的元素。但是我如何设置\获取节点的ID呢?
node.attr("id", json_data.new_id);