选择字段中的Sencha Touch 2更改事件

时间:2012-05-14 09:12:43

标签: javascript extjs sencha-touch

代码:

xtype: 'selectfield',
id: 'selectType',                           
cls: 'combobox',                            
store: 'ProvidersType',
displayField: 'name',
valueField: 'id',
listeners: {                                
change: function(field, value) {
    alert(111);
}
}

应用程序加载后我有“111”警报,不仅在selectfield中选择新选项时。在使用setStore或setValue或updateOptions方法之后我也有这个警告...这非常糟糕,因为我从json加载selectfield的选项,并且总是有错误,因为json请求的参数我从当前选择的selectfield值...任何想法如何避免这种行为,并使其像jQuery一样正常工作?

编辑:

嗯,它可以正常使用静态选项,但如果我从商店加载选项时效果不好......

此代码效果很好,我只对选择的更改发出提醒:

xtype: 'selectfield',
                id: 'selectType',                           
                cls: 'combobox',                            
                options: [
                    {text: 'First Option',  value: 'first'},
                    {text: 'Second Option', value: 'second'},
                    {text: 'Third Option',  value: 'third'}
                ],
                listeners: {                                
                    change: function(field, value) {
                        alert(111);                         
                    }

但是,如果我正在连接商店的选项,我会立即提醒应用程序加载:

                        xtype: 'selectfield',
                        id: 'selectType',                           
                        cls: 'combobox',                            
                        store: 'ProvidersType',
                        displayField: 'name',
                        valueField: 'id',
                        listeners: {                                
                            change: function(field, value) {
                                alert(111);

                            }
                        }   

商店是:

Ext.define('Providers.store.ProvidersType', {    
extend: 'Ext.data.Store',
config: {
    model: 'Providers.model.Provider',
    proxy: {
        type: 'scripttag',
        url : 'http://example.dk/providers/service.php',
        extraParams: {
            action: 'provider_types',
            username: 'test2',
            callback: '?',                      
            format: 'json'          
        },          
        reader: {
            type: 'json',
            rootProperty: 'providers'
        }
    },      
    autoLoad: true

}
});

0 个答案:

没有答案