ExtJS - 项目选择器动态存储负载

时间:2011-12-08 07:00:57

标签: javascript ajax extjs extjs3 itemselector

我正在使用ExtJS 3.3.0和CodeIgnitor 1.7.4使用GoPHP5

我有点困惑我正在尝试的东西是:

我有一个主要的ItemSelector

选择多个值并将它们转移到下一个框(分配给第二个框的商店)

我需要ajax或代理函数来获取新的itemSelector的相关结果。

进一步简化:

ItemSelector 1 :(我选择这两个值)

US INDIA

ItemSelector 2 :(我应该得到两个国家的州) AL .. CA等加上印度的所有州或城市

我的代码:

{
    xtype:'itemselector',
    fieldLabel: 'Country',
    name: 'country',
    multiselects: [{
        width: ".$width.",
        height: ".$height.",
        store: new Ext.data.ArrayStore({
            fields: ['value','text'],
            data : [".$data."]
        }),
        displayField: 'text',
        valueField: 'value'
    },{
        store: [],
        width: ".$width.",
        height: ".$height."
    }]
}

{
    xtype:'itemselector',
    fieldLabel: 'States',
    name: 'states',
    multiselects: [{
        width: ".$width.",
        height: ".$height.",
        store: new Ext.data.ArrayStore({
            fields: ['value','text'],
            data : [".$data."]
        }),
        displayField: 'text',
        valueField: 'value'
    },{
        store: [],
        width: ".$width.",
        height: ".$height."
    }]
}

1 个答案:

答案 0 :(得分:0)

在你的第一个项目选择器上放置一个监听器,这样当选择一个项目时,它会向你的服务器发出ajax呼叫,国家代码为“US”,“INDIA”。在服务器上获取相关的状态代码列表。在JSON中返回它们并在返回到ajax调用时,使用返回的状态代码在另一个itemselector上填充JSONStore。