4

プラグインJstreeを使用して、メニューを動的に管理しています。

アイコンとリンクを表示するために、いくつかのdivを使用してツリーをカスタム化しました。

<li rel="menu">
  <a class="js_menu_titre">
          <p class="jsmenu_titre_taille">Menu_Principal</p>
          <div class="jsmenu_lien">Link</div>
          <p class="jsmenu_icone">Actif : icon</p>
          <p class="jsmenu_action">Actions : icon_action</p>
  </a>

私の問題は、関数create nodeを使用したいときに、divがもうないことです。私の税関のdivはリンク内にあります()

ここで結果と問題を確認できます:http://i71.servimg.com/u/f71/11/07/15/68/arbo10.jpg

私はこの関数を使用します:

$("#jsmenu").bind("create.jstree", function (e, data) {
$.post(
    "/static/v.1.0pre/_demo/server.php", 
    { 
        "operation" : "create_node", 
        "id" : data.rslt.parent.attr("id").replace("node_",""), 
        "position" : data.rslt.position,
        "title" : data.rslt.name,
        "type" : data.rslt.obj.attr("rel")
    }, 
    function (r) {
        if(r.status) {
            $(data.rslt.obj).attr("id", "node_" + r.id);
        }
        else {
            $.jstree.rollback(data.rlbk);
        }
    }
);

})

そして私の追加ボタンのために

function Ajouter() {
    $('#jsmenu').jstree("create", null, "last",{ "attr" : { "rel" : "folder" } });
}
4

2 に答える 2

5

次のようなことを試してください:

$("#jsmenu").on("create_node.jstree", function (e, data) {
    $("li#"+data.node.id).find("a").append(html);
});

htmlアイコンコードを含む変数です。

于 2014-01-14T13:51:37.700 に答える
0

ID でアンカーに直接アクセスできます。

$("#jsmenu").on("create_node.jstree", function (e, data) { $("#"+data.node.id+"_anchor").append(html); });

于 2015-10-09T12:29:32.373 に答える