2012-01-19 33 views
0

我正在嘗試使用複選框使組件灰色/禁用。在Sencha Touch中禁用複選框

field.setDisabled(true); 

這工作在瀏覽器中正常,但在iPhone和iPad設備的瀏覽器被禁用和灰色不可用的標籤,但仍然用戶我們可以選擇任何複選框。

有誰知道如何實現這個?

在此先感謝。

回答

0

這可能是由於打開了BUG #135 (Disabled Checkboxes/Radiobuttons still working)

評論到錯誤提供幾個解決的其中一個(你可以把這個在JavaScript的一個別處文件煎茶觸摸被加載後,如果您需要Ext.form.Checkbox第一,如果它沒有存在過):

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); 
    } 
    } 
}); 
+0

我可以找到錯誤和評論,但解決方法看起來要複雜得多。可能是因爲我是初學者來煎茶。你能幫我理解一下嗎? –

+0

我已經把代碼放在Ext.Application的啓動函數中。但它仍然沒有工作。我正在使用sencha touch1 –

+0

覆蓋這也不解決問題。 –