2012-01-19 16 views
0

チェックボックスを使用しようとすると、コンポーネントがグレーアウト/無効になります。Sencha Touchのチェックボックスを無効にする

field.setDisabled(true); 

これは、ブラウザで正常に動作しますが、iPhoneとiPadのデバイスブラウザでは無効にされるとラベルを灰色が、それでもユーザーたちは、チェックボックスのいずれかを選択することができます。

これを実装する方法を知っている人はいますか?

ありがとうございます。

答えて

0

これはおそらく開かれたのはBUG #135 (Disabled Checkboxes/Radiobuttons still working)です。

Ext.override(Ext.form.Checkbox, { 
    onChange: function(e) { 
    if (e) { 
     if (e.browserEvent) { 
     e = e.browserEvent; 
     } 

     if (Ext.supports.Touch && !e.isSimulated) { 
     e.preventDefault(); 
     e.stopPropagation(); 
     return; 
     } 
    } 

    if(!this.isDisabled()){ 
     if (this.isChecked()) { 
     this.lastState = true; 
     this.fireEvent('check', this); 
     } else { 
     this.lastState = false; 
     this.fireEvent('uncheck', this); 
     } 
    } else { 
     var state; 
     if(!Ext.isEmpty(this.lastState)){ 
     state = this.lastState; 
     } else { 
     state = Ext.isEmpty(this.originalState) ? 
        this.getBooleanIsChecked(this.checked) : this.originalState; 
     } 
     this.setChecked(state); 
    } 
    } 
}); 
:バグへ

コメントは(あなたが煎茶タッチがロードされた他の場所の後に、あなたはそれはまだあまりにも存在する場合は最初のExt.form.Checkboxを必要とすべきであるJavaScriptファイルのいずれかでこれを置くことができる)であるそのうちの一つの回避策のカップルを提供します

+0

私はバグとコメントを見つけることができましたが、回避策は理解するのがはるかに複雑です。私は初心者です。簡単に解決できることを理解してもらえますか? –

+0

Ext.Applicationの起動機能の中にコードを入れました。しかし、それでも動作しません。私はsencha touch1を使用しています –

+0

これを無効にしても問題は解決されません。 –