1

select_nodeイベントを使用してノードを切り替え(展開)したjstreeがあります。したがって、見栄えが悪く、必要がないため、ツリーの切り替え矢印を削除しました。

ツリー内で使用するチェックボックスプラグインを追加しましたが、プラグインがアクティブな場合、select_nodeイベントが無効になっていることがわかりました。

醜いトグル矢印を再度追加せずに、チェックボックスプラグインをアクティブにしてノードをトグルするにはどうすればよいですか?check / uncheckイベントでそれを行うことはできますが、ノードを展開するたびにチェック/チェックを外したくありません。

4

3 に答える 3

2

http://www.jstree.com/documentation/checkboxのようなサンプル ツリーがあり、矢印が削除されているとします。クリック イベントで、UI インタラクションを中断せずに、チェックボックスの選択とブランチの切り替えの両方を実行することはできません。ただし、非リーフ ノードにはモデル データが含まれていないため (それらのチェックボックスはすべて選択/すべて選択解除機能としてのみ機能します)、チェックボックスを削除して、クリック イベントを「toggle_node」として再定義することができます。残りはそのまま。

葉以外のノードのチェックボックスを削除し、それらのクリック イベントで葉を切り替えることができます。これにより、目的の動作が実現しますが、リーフ ノード以外のチェックボックスの「すべて選択/すべて選択解除」機能が削除されます。

サンプルページに「+」でマークされた以下の行を追加するだけです。

    $("#demo1").jstree({
       「プラグイン」:[「テーマ」、「html_data」、「チェックボックス」]
    });

+ $("#demo1 li").not(".jstree-leaf").each(function() {
+ $("ins.jstree-checkbox", this).first().hide();
+ $("a", this).first().click(関数(イベント) {
+ $("#demo1").jstree("toggle_node", "#"+$(this).parent().attr('id'));
+ event.stopPropagation();
+ event.preventDefault();
+ });
+ });
于 2011-01-15T23:14:33.957 に答える
2

JsTree にはスタイルテーマが用意されているため、独自に定義して読み込むことができます。スプライト画像を置き換えるだけで十分です。

于 2011-01-05T10:13:57.340 に答える
2

jstree の最新バージョンでは、チェック ボックスまたはノード タイトルをクリックすることで、ノードを個別にチェックおよび選択できるようになりました。

于 2011-01-17T16:50:14.643 に答える