0

jquery ツリー プラグインを使用して、階層データをレンダリングします。

ユーザーがこのデータと対話できるようにする追加機能をコーディングしました(ノードの追加/削除、ノードの交換など...)

現在、このプラグインは、ノードを追加したいときはいつでも、次のメソッドを呼び出すことができることをサポートしています。

$("#browser").treeview({
     add: branches
});

ここでbranchesjQuery object、特定のノードを表す HTML ブロックを使用して作成されます。

ただし、ノードの削除と交換には、次のような一般的な JQuery 関数を使用します。

削除の場合、

$("#topnd2").remove();

交換のため、

var next = $("#topnd2").next();
$("#topnd2").insertAfter(next);

topnd2id特定のツリー ノードの です。

ノードは適切に削除/スワップされますが、問題はツリーがレンダリングされないため、ツリー イメージ (主に枝を示す垂直線) が適切に設定されないことです。

たとえば、最後のノードを削除すると、そのノードはレンダリングされたツリービューから削除されますが、残りの兄弟ノードは枝線イメージとして L を取得する必要がありますが、 | は取得しません。.

電話してみた

$("#browser").treeview();

あなたのアイデアを教えてください。

ありがとう、ジャタン

4

2 に答える 2

1

以下に示すような回避策を見つけました。

ノードがスワップアップされたら、以前のノードをその子に仮想的に追加し、

$("#browser").treeview({add:$("#topnd2").insertBefore(前).next()});

ノードがスワップダウンされた場合、virtuall は現在のノードを次のノードに追加します。

$("#browser").treeview({add:$("#topnd2").insertAfter(next)});

現在、問題なく動作しています。このアプローチで問題が見つかった場合は、この投稿を更新します。また、ご存知の場合は、このアプローチを検証してください。

よろしく、ジャタン

于 2008-11-07T06:31:17.077 に答える
0

ノードの削除後にツリービューを再度更新しようとすると、リンクは機能しますが、[+] または [-] アイコンは機能しません。いくつかのブラウザでこれを試しました..

于 2010-02-11T01:43:38.503 に答える