0

ラベル値の一部として入力 HTML コードを入力して、dijit.Tree 内にチェックボックスを配置しようとしています。正常に表示されますが、チェックまたはチェックを外すことはできません。あたかもクリックイベントがバブリング/入力要素に達していないかのように。

これがツリーオブジェクトの作成方法です。

myTree = new dijit.Tree({
    model: myModel,
    showRoot: false,            
    getLabel: function(item) {
        if (!item.root)
            return '<input type="checkbox" name="'+ item.name +'" id="'+ item.name +'" value="1" /> '+ item.name;
    }

}, "gridDiv");

どうすればこれを修正できますか?

4

2 に答える 2

1

今、2つの選択肢が頭に浮かびます:

  1. 可能であれば、新しい Dojo の dgrid を使用してください。この新しいグリッドを使用すると、エディター モジュールを使用して "checkbox" をパラメーターとして渡すことができ、列にチェックボックスがレンダリングされます。ここでチェックしてください次に、ここからダウンロードできます。ダウンロードしたら、「dgrid/test/tree.html」で必要なものの例を見つける「test」フォルダーを確認してください。
  2. 現在のグリッドで、getLabel メソッドの return ステートメントを編集し、Dojo スタイルのマークアップを返すよう<div data-dojo-type="dijit.form.CheckBox" ... ></div>にしてから、ツリーの起動イベントの後にdojo.parser.parse(tree.domNode). これにより、グリッドの DOM ノードのみが解析され、Dojo スタイルのマークアップが実際の Dojo オブジェクトに変換されます。

可能であれば、個人的には最初の選択肢をお勧めします。

幸運、

于 2012-08-05T01:54:48.650 に答える
0

ツリーにチェック ボックスがある場合は、cbtree を使用します。 ここをチェック

于 2013-04-16T06:00:03.913 に答える