使用AJAX设置extjs 4.2组合框的默认值

时间:2016-06-26 11:56:21

标签: javascript ajax extjs combobox extjs4

我有一个extjs 4.2组合框,我用它来显示一些数据。现在我尝试根据条件组合将显示默认值。我设法根据该条件返回所需的数据,但是我没有在组合框中设置必要的值。我该如何设置该特定值?

组合:

var locationStore = Ext.create('Ext.data.Store', {
    model: 'model_LOCATION',
    proxy: {
        type: 'ajax',
        url: 'Record?DB=GEO&Table=LOCATION',
        reader: {
            type: 'xml',
            record:'record'
        }
    },
    autoLoad:true
});




var C_LOCATION= Ext.create('Ext.form.ComboBox', {
    name : 'C_LOCATION',
    id : '${DB}.${Table}.C_LOCATION',
    store : locationStore,
    queryMode : 'local',
    displayField : 'display',
    valueField : 'value',
});

AJAX电话:

var data;
        var code = 111;
        data = "CODE ='" + code + "'";
        var text;
        $.ajax({
            type: "POST",
            url: "Record?DB=GEO&Table=LOCATION",
            dataType: 'xml',
            data: {
                "Where": data
            },
            success: function(xml) {
                 text = xml;
                Ext.getCmp('${DB}.GEO.LOCATION').setValue(text);
                   } 
                });

2 个答案:

答案 0 :(得分:0)

在配置部分(reference: 'comboBox')中为组合框指定引用。然后在您获得特定值的函数中调用comboBox.setValue(defaultValueGoesHere)。您可能需要根据自己的位置搜索comboBox引用。

答案 1 :(得分:-1)

我猜你必须解析你的XML响应。与您在locationStore的代码定义中类似,您可以在其中指定xml响应中的记录。

为什么要进行第二次ajax通话? 你能否根据CODE值过滤locationStore?