2011-10-23 108 views
1

内の項目のコントロールイベントは、私は、ビュークラスとMVCでアプリケーションを持っていますか? menucheckitemsがチェックされているかどうか確認したい。 は、私は、コントローラのinit関数で何かを試してみましたが、エラーが(item.down(「mci1」)がnullである)があります:ExtJSの4 MVC

... 
init: function() { 
    this.control({ 
     'mainmenu': { 
      click: function(item) { 
       if (item.down('mci1').checked == true) { 
        ... 
       } 
       if (item.down('mci2').checked == true) { 
        ... 
       } 
      } 
     } 
    }); 
} 

私は右のそれを行うことができますどのように?

答えて

0

itemパラメータはすでにメニュー項目です。あなたは質問する必要はありません。

ので、それは次のようになります。

if(item.checked && item.getId() == 'mci1'){ 
... 
} 
1

@Ringo、

メニュー項目やmenucheckitemどちらが煎茶のドキュメント(HTTPによるとそれらに利用可能なダウンの方法を()持っている://ドキュメント。 sencha.com/ext-js/4-0/#!/api/Ext.menu.CheckItem-event-checkchange)。

だから、そういうわけではありません。

「checkcheck」と呼ばれるmenucheckitemのxtypeのイベントがあります。

  • この(Ext.menu.CheckItem)<は/未チェックチェックした実際のmenucheckitem(そうmci1またはmci2は、ユーザーがクリックしたかに依存)=
  • :このイベントは、あなたの機能のために利用できる次の引数を作ります
  • checked(ブール値)< =変更によってmenucheckitemがチェックされている場合はtrue、チェックされていない場合はfalseです。

    ... 
    init: function() { 
    this.control({ 
        'mainmenu menucheckitem': { 
         checkchange: function(item, checked) { 
          if (checked) { 
           if(item.id == 'mci1'){ 
            ... 
           } 
          }else{ 
           ... 
          } 
         } 
        } 
        }); 
    } 
    
    :だから

、これはあなたのような何かをする必要が唯一のでしょう