0

私はhtmlULでjstreeを使用しており、各ノードはナビゲーション用のhrefであり、各htmlページにphpを介して含まれています。

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は正常に機能しますが、問題は、ナビゲートされたURLがルートノードの1つである場合に、Cookieで選択されたノードをオーバーライドする方法にありますか?ルートノードの場合は、代わりに開いておく必要があります。これは、外部ソースまたはツリーのないサイト内の別のページからツリーページに移動するときに発生するため、Cookieの設定が正しくありません。

jquery 1.7.2、jstree1.0を使用しています。すべてのliidはページ名と同じです。つまり、href "page1"の場合、関連するliidは"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 に答える