チェックボックスをオンまたはオフにしてコントロールを追加しようとしているExtJSチェックツリーExtJS Check Treeがあります。しかし、それは正しく発射されていないようです。ここで ExtJS:チェックボックスのチェックボックスの表示/非表示を切り替える
がある Fiddle Example場合は、チェックボックス「」選択されている、私は働くテキストフィールド、'testValue'
を、非表示にしたいが、私は「A」のチェックボックスを選択解除した場合、その後、私はテキストフィールドを表示したい、'testValue'
これは動作しません。
このテストでは、私はただselections.selected.length === 0
かどうかを見ています。しかし、チェックボックスの選択を解除すると、アラートメッセージがトリガされないため、リスナーが起動していないように見えます。また、チェックボックスを再選択しなおすと、まだ起動しません。
これを達成するには、選択モデルを使用します(私はそれが動作することを知っています)。しかし、このチェックボックスを使用すると、すべてのツリーアイテムにチェックボックスが配置されます。
selModel: {
type: 'checkboxmodel',
listeners: {
selectionchange: 'onCheckedNodesChange'
}
}
どのような提案でも大歓迎です!
EDIT allowDeselect: true
とselect
のリスナーとのdeselect
並べ替えを追加する (私は行動示すことがフィドルを更新)働いた:
selModel: {
allowDeselect: true,
listeners: {
deselect: function(model, record, index) {
text = record.get('text');
alert(text);
},
select: function(model, record, index) {
text = record.get('text');
alert(text);
}
}
},
私は「A」が選択されたときに確認するとテキストフィールドは非表示のままですが、リスト内の別のアイテムを選択して選択を解除すると、テキストフィールドが戻ります。
私は、selectchangeイベントが発生したときにgetChecked()メソッドだけを使用しようとしています。しかし、これは送信時にのみデータを返すようです(たとえば、Get checked nodes
コントロール)。どんな提案も大歓迎です。これほど難しいはずはありません。
私はこれを試しましたが、それは 'checkchange.'で発射されないようです。上で参照されたフィドルを見てください。 –
コードでは、A、B、Cの子ノードが正しくないため、テストでは警告されません。 –
アラートが働いていれば、私はすでにチェックチェンジイベントを使って機能しています。 –