2012-01-19 30 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

覆盖这也不解决问题。 –