0

アプリケーションでチェックボックス付きのツリーパネルを使用しています。

var treepanel = {
id : 'tree',
xtype : 'treepanel',
store : layerStore,
rootVisible : false,
listeners : {
checkchange : function(node,check){
if(node.get('id') == 'teacher '){
alert('教師ノードを選択しました');
}else if(node.get('id') == 'student'){ alert('学生ノードを選択しました'); }
}
}
};

LayerStore コード:

var layerStore = Ext.create('Ext.data.TreeStore',{
root : {
children : [
{
text : 'teacher layer',
id : 'teacher',
checked : false
},{
text : 'Student layer',
id : 'student',
checked : false
}]
}

});

今、特定のチェックボックスをオンにするとアラートメッセージが表示されます.私の問題は、チェックボックスをオフにすると、特定のレイヤーの選択を解除したようにアラートを表示する必要があることです.助けてください.

4

1 に答える 1

1

「checkchange」ハンドラを次のように変更する必要があります。

checkchange : function(node,check){
  var s = (!check && 'un' || '' ) + 'selected';

  if(node.get('id') == 'teacher'){
    alert('you have '+s+' teacher node');
  }else if(node.get('id') == 'student'){ alert('you have '+s+' student node'); }
}
于 2011-07-14T17:26:10.803 に答える