gpt4 book ai didi

jquery - 在 jsTree 中,我得到 data.rslt 为未定义

转载 作者:行者123 更新时间:2023-12-01 05:01:24 26 4
gpt4 key购买 nike

使用 jsTree,我在尝试读取数据对象时得到 data.rslt undefined。

这是我的 jQuery,创建一棵树,加载 JSON,加载时它应该将 data.rslt 对象输出到控制台。

$(function () {
$("#demo1").jstree({
"plugins" : [ "themes","json_data","ui", "crrm" ],
"json_data" : {
"ajax" : {
"url" : "categorytreejson.asp"
}
},
"ui" : {
"initially_select" : [ "root" ]
}
});

$("#demo1").bind("loaded.jstree", function (e, data) {
console.log(data.rslt)
});
});

这是 JSON 数据

{"data": "root", "attr": {"id": "root"}, "children": [{"data": "Photography", "attr": {"id": "Photography"}, "children": [{"data": "Lenses", "attr": {"id": "Lenses"}, "children": [{"data": "Telephoto", "attr": {"id": "Telephoto"}},{"data": "Macro", "attr": {"id": "Macro"}},{"data": "Other", "attr": {"id": "Other"}}]}]}]}

生成的 HTML

<li class="jstree-last jstree-open" id="root"><ins class="jstree-icon">&nbsp;</ins><a class="" href="#"><ins class="jstree-icon">&nbsp;</ins>root</a><ul style=""><li class="jstree-closed" id="Photography"><ins class="jstree-icon">&nbsp;</ins><a class="" href="#"><ins class="jstree-icon">&nbsp;</ins>Photography</a><ul><li class="jstree-last jstree-closed" id="Lenses"><ins class="jstree-icon">&nbsp;</ins><a href="#"><ins class="jstree-icon">&nbsp;</ins>Lenses</a><ul><li class="jstree-leaf" id="Telephoto"><ins class="jstree-icon">&nbsp;</ins><a href="#"><ins class="jstree-icon">&nbsp;</ins>Telephoto</a></li><li class="jstree-leaf" id="Macro"><ins class="jstree-icon">&nbsp;</ins><a href="#"><ins class="jstree-icon">&nbsp;</ins>Macro</a></li><li class="jstree-last jstree-leaf" id="Other"><ins class="jstree-icon">&nbsp;</ins><a href="#"><ins class="jstree-icon">&nbsp;</ins>Other</a></li></ul></li></ul></li></li></ul></li></ul></li>

以及 Firebug 中的数据对象。

args: []
inst: Object { data={...}, get_settings=function(), _get_settings=function(), more...}
rlbk: false
rslt: undefined

最佳答案

某些事件不会填充 data.rslt 对象。
截至jsTree core documentation :

数据结构:

{ 
"inst" : /* the actual tree instance */,
"args" : /* arguments passed to the function */,
"rslt" : /* any data the function passed to the event */,
"rlbk" : /* an optional rollback object - it is not always present */
}

特别是,loaded.jstree 事件将有一个空的 data.rslt,因为没有其他数据传递给该函数。

诸如create.jstreerename.jstree之类的其他事件将填充data.rslt。

我希望你现在更清楚了:-)

关于jquery - 在 jsTree 中,我得到 data.rslt 为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9673757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com