如何在Ext.data.Model数组中提取值包含?

时间:2012-02-21 10:41:00

标签: extjs

我正在使用ext js。我有一个组合框,我选择一个值,并使用此值作为参数来获取其他值(两个值)。现在我希望将它添加到变量中,以便我可以在除组合框之外的其他位置使用它。我怎么能这样做?

var txtEP = new Ext.form.ComboBox({
    renderTo: "txtEP",
    fieldLabel: 'End Point',
    triggerAction: "all",
    forceSelection: true,
    mode:'local',
    autoScroll: true,
    allowBlank: false,
    autoShow: true,
    typeAhead:true,
    store: genres,
    valueField:'pincode',
    displayField:'pincode',
    emptyText:'Select a Start Point',
    selectOnFocus:true,
    listeners : {
        'select' : function(){
            var selVal = this.getValue();
            store.load({
                url:'./genres1.php', 
                params: {pincode: selVal},
                callback: function(records) {
                    endpt = records; // here is where it is assigned
                }
            });
        }
    }
});

现在我的“endpt”现在将包含一个Ext.data.Model对象数组,因此可以从中提取所需的值。请帮帮我

1 个答案:

答案 0 :(得分:0)

Ext.data.Model有一个get方法。您传递要获取值的字段的名称。在你的情况下,你提到/genres.php返回两个值的地方,如果数据作为一个记录返回,有两个不同的列,如下所示:

列标题:| value1 |值2

第1行:| 'data1'| 'DATA2'

您可以将两个返回的数据值分配给回调函数中的变量,例如,您将变量命名为firstValue和secondValue:

firstValue = endpt[0].get('value1');
secondValue = endpt[0].get('value2');

相反,如果您的/genres.php将数据作为两个不同的行返回,只有一个列标题,如下所示:

列标题:值

第1行:'data1'

第2行:'data2'

您可以将数据分配给这样的变量:

firstValue = endpt[0].get('value');
secondValue = endpt[1].get('value');