使用extjs从ajax调用加载组合值

时间:2015-04-20 09:37:29

标签: javascript ajax extjs combobox

我在ExtJS中编写了一个UI。我希望在页面加载时完成三件事:

  1. 对服务器进行ajax调用,检索HashMap。
  2. 在主页面板

    中创建一个组合框
    var combo = Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    id: 'mycombo',
    queryMode: 'local',
    displayField: 'name',
    valueField: 'id',
    store: [],
    renderTo: Ext.getBody()
    });
    
  3. 使用检索到的HashMap填充此组合框。

    combo.getStore().add([[i, m.get(i)]]);
    
  4. 现在页面加载时我需要执行所有三个javascript代码。请告知我该怎么做?

    还有一个问题。组合框创建代码位于主页'Panel'的'items'中,我在ExtJS中编码。那么如何在加载页面时以某种方式调用此创建代码?简而言之,我需要在javascript'var'

    中存储组合框的细节
    'var combo = Ext.create(....)`
    

    我可以在以后使用它来填充组合框。那么我如何“调用”'items'中的代码并在页面加载时将其分配给'var',因为在此之后我使用HashMap使用这个'var'来填充这个组合框。

1 个答案:

答案 0 :(得分:1)

这是一个非常正常的功能,可以完全由ExtJS处理。无需逐个手动将记录添加到组合商店。您只需要使用ajax代理定义商店,然后将其附加到组合框组件。该商店将配置为提取和解析自己的数据。

Here是一个如何做到这一点的简单示例。