2016-10-27 13 views
0

selectFieldコントロールを使用してアプリケーションにドロップダウンを表示しました。矢印ボタンをクリックしても、ユーザーがテキストキーボードをタップして開くとうまくいきます。入力フィールドではありません。キーボードは、Sencha TouchのselectFieldをクリックすると開きます

enter image description here

コード:

        xtype: 'panel', 
            itemId: 'mypanel23', 
            listeners: [ 
             { 
              fn: function(component, eOpts) { 
               component.add({ 
                /***DropDown issue***/ 
                xtype: sessionStorage.voiceOver == "on"?'panel':'selectfield', 
                /***DropDown issue***/ 
                cls: 'myusage_select_list', 
                id: 'billedDD', 
                itemId: 'myselectfield', 
                hideOnMaskTap:true, 
                /***DropDown issue***/ 
                html:sessionStorage.voiceOver == "on"?"<select class='myusage_select_list' id='billedDD_Accessibility'></select>":'', 
                /***DropDown issue***/ 
                defaultPhonePickerConfig: { 
                 cancelButton: { 
                  text: BellMCare.util.config.getLocalizationValue('MobilityMyUsage_Cancel'), 
                  listeners:{ 
                   tap: function(){ 
                    var uAgent = navigator.userAgent; 
                    if(uAgent.match(/Alcatel/i)){ 
                     this.up('picker').setHidden(true); 
                    }                          
                   } 
                  } 
                 }, 
                 doneButton: { 
                  //Sanity Issue - expiry date picker not working and screen struck         
                  cls: 'pickerDoneBtn',           
                  // Sanity Issue -End 
                  text: BellMCare.util.config.getLocalizationValue('MobilityMyUsage_Done'), 
                  listeners:{ 
                   tap: function(){ 
                    BellMCare.util.config.performanceLogs('PERFORMANCE LOGS | UI | Flow 4b | start '); 

                    BellMCare.util.config.performanceLogs('PERFORMANCE LOGS | UI | Flow 4a or 4b | Changed dropdown started '); 

                    var uAgent = navigator.userAgent; 
                    if(uAgent.match(/Alcatel/i)){ 
                     this.up('picker').setHidden(true); 
                    }                          
                   } 
                  } 
                 } 

                }, 
                listeners: 
                { 
                 change: function(selectfield, newValue, oldValue, eOpts) 
                 { 
                  if(oldValue != null){ 
                   /**Dropdown Issue**/ 
                   BellMCare.app.getController("mobilityMyUsage").onBillCycleDropDownChange(); 
                   /**Dropdown Issue**/ 
                  } 
                 }, 
                 focus: function(comp){ 
                  var uAgent = navigator.userAgent; 
                  if(uAgent.match(/Alcatel/i)){ 
                   if(comp.getPhonePicker().isHidden()){ 
                    comp.getPhonePicker().setHidden(false); 
                   } 
                  }                            
                 } 
                } 
               }); 
               /**Dropdown Issue**/ 
               Ext.getCmp("billedDD").innerHtmlElement.dom.addEventListener("change", function(){ 

                BellMCare.app.getController("mobilityMyUsage").onBillCycleDropDownChange(); 

               }); 
               /**Dropdown Issue**/ 
              }, 
              event: 'initialize' 
             }, 
+0

編集可能:false –

+0

selectfieldにフォーカスリスナーを追加し、* event.stopEvent()*でイベントを停止できます。 – abeyaz

答えて

2

私は、次のコードでそれを管理する:

initialize: function(fld){ 
    var textboxEl = fld.element.query('input')[0]; 
    textboxEl.setAttribute('readonly', true); 
} 

あなたは何の疑いを持っている場合、私に知らせてください。

関連する問題