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

Set a default value of an extjs 4.2 combobox using AJAX

本文关键字:组合 默认值 AJAX 设置 extjs 使用      更新时间:2023-09-26

我有一个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);
                   } 
                });

在配置部分(reference: 'comboBox')中给组合框一个引用。然后在得到特定值的函数中调用comboBox.setValue(defaultValueGoesHere)。您可能需要根据您所在的位置查找comboBox引用

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

为什么要进行第二个ajax调用?您可以不根据CODE值过滤locationStore吗?