如何将对象转换为数组并将值设置为sencha中的selectfield

时间:2013-07-16 04:35:10

标签: javascript sencha-touch sencha-touch-2

其实我从服务器获得国家:英格兰,那么如何设置英国的选择字段。我无法在选择字段中设置。

在其他文本字段中,我这样管理;

Ext.getCmp('email').setValue(email);

但为什么不在selectfield中工作?

我非常感谢。现在我想转换数组。

var testcountry=  Ext.create('Test.store.CountryList');
console.log("Length of Country==="+testcountry.getCount());
console.log("Country==="+testcountry);

for (var i = 0 ; i < testcountry.getCount() ; i ++){
    console.log("Country Value--"+testcountry.getAt(i).data.country);
}

此处 console.log(“国家值 - ”+ testcountry.getAt(i).data.country);

所有国家/地区在控制台中打印未定义。

在模特:

Ext.define('Test.model.countryList', {
    extend: 'Ext.data.Model',
    alias: 'widget.countrylist', 
    config: {
        fields: ['text']
    }
});

在商店中:

Ext.define('Test.store.countryList', {
    extend: 'Ext.data.Store',

    config: {
    storeId: 'countryList',
    model: 'Test.model.countryList',
    data: [
    { text: ''},
    { text: 'Japan'},
    { text: 'India'},
    { text: 'Spain'},
    { text: 'Australia'},
    { text: 'Sudan'},
    { text: 'Brazil'},
    { text: 'Mexico'},
    { text: 'England'},
    { text: 'Chaina'},
   ]
}
});

在这样的控制台中:

Length of Country===9 
Country===[object Object] 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 
Country Value--undefined 

如何打印所有国家/地区。

1 个答案:

答案 0 :(得分:0)

您的 For 循环代码段应该是这样的:

for (var i = 0 ; i < testcountry.getCount() ; i ++){
    console.log("Country Value--"+testcountry.getAt(i).getData().text);
}

您需要提及您在模型中使用的确切字段名称。

<强>更新

如果你想在Selectfield上填充它,你会这样做:

{
                        xtype: 'selectfield',
                        placeHolder: 'Select Country',
                        store: 'countryList'
                    }