0

我正在使用带有html UL的jstree,每个节点都是一个用于导航的href,它通过php包含在每个html页面上。

Jstree代码是:

$(function(){
$("#treeview").jstree({
    "themes" : {
        "theme" : "default",
        "dots" : false,
        "icons" : false
    },
    "ui" : {
            "selected_parent_close" : "false",
            "select_multiple_modifier" : "false",
    },
    "core": { 
                "animation": 500
            },
    "plugins" : [ "themes", "html_data", "ui", "cookies" ]

});
$("#treeview").bind("reselect.jstree", function () {
    $("#treeview").bind("select_node.jstree", function (e, data) {
        document.location = data.rslt.obj.children("a").attr("href");
    });

}); 
});

cookie 工作正常,但问题在于如何覆盖 cookie 选择节点,何时(且仅当)导航 url 是根节点之一?如果它是一个根节点,我希望它是打开的。当从外部源导航到树页面或站点中没有树的另一个页面时会发生这种情况,因此 cookie 设置不正确。

我正在使用 jquery 1.7.2,jstree 1.0。所有 li id 都与页面名称相同,即对于 href“page1”,相关的 li id 是“page1”。

4

1 回答 1

1

答案(或者更确切地说是“一个”答案)是 1)通过在 UI 插件中设置 "save_selected" : false 来更改 cookie 功能;2)将initial_select设置为页面的id;3) 手动设置选择的节点作为最后一步使用: $('#tree').jstree("select_node", $('body').attr('id'));

于 2012-06-28T10:42:25.390 回答