extjs4组合框更改还更改另一个组合框数据存储,并选择值

发布于 2024-11-07 07:06:31 字数 844 浏览 7 评论 0原文

这可能是一个愚蠢的问题,但我想问当组合框选定值更改时是否有可能更改另一个组合框的存储数据。

这可能会令人困惑,所以让我举一个清楚的例子,...

组合框A有一个包含国家/地区名称的数据存储 comboboxB 有一个包含城市名称的数据存储

,因此,comboboxA 中的数据可能是:

 - USA 
 - Mexico
 - England

comboboxA 的值为“USA”将是:

 - Texas
 - New York
 - Washington

但是当组合框A的值为“英格兰”时,组合框B中的数据将是:

 - London
 - Manchester

我该怎么做?

我尝试过:

comboboxA.on("change", function(cb, newValue, oldValue){

    if(newValue == "USA"){
       comboboxB.store.loadData(["Texas", "New York", "Washington"]);
       comboboxB.setValue("Texas");
    }
    else if(newValue == "England"){
       comboboxB.store.loadData(["London", "Manchester"]);
       comboboxB.setValue("London");
    }

});

我的代码有问题吗?

This might be a silly question, but I want to ask if there is a possibility to change another combobox's store data when a combobox selected value is changed.

It might be confusing, so let me give a clear example,...

comboboxA has a datastore that contains of country's name
comboboxB has a datastore that contains of city's name

so, the data in comboboxA could be:

 - USA 
 - Mexico
 - England

And the data incomboboxB when the value of comboboxA is "USA" would be:

 - Texas
 - New York
 - Washington

but when the value of comboboxA is "England", the data in comboboxB would be:

 - London
 - Manchester

How could I do that?

I've try:

comboboxA.on("change", function(cb, newValue, oldValue){

    if(newValue == "USA"){
       comboboxB.store.loadData(["Texas", "New York", "Washington"]);
       comboboxB.setValue("Texas");
    }
    else if(newValue == "England"){
       comboboxB.store.loadData(["London", "Manchester"]);
       comboboxB.setValue("London");
    }

});

Is there something wrong with my code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独守阴晴ぅ圆缺 2024-11-14 07:06:31

请参阅更新后的Combobox FAQ。您必须使用 select 事件的侦听器。请参阅“链接组合框”中的示例

See the updated Combobox FAQ. You must use the listeners for the select event. See the example in "linked comboBoxes"

辞取 2024-11-14 07:06:31

您的数据应采用以下形式:

[ {cityName: "Texas"}, {cityName: "New York"}, {cityName: "Washington"} ]

组合框B 的存储应具有以下字段:

var storeB = Ext.create('Ext.data.Store', {
    fields : { 'cityName' },
    ...
});

但您没有说明错误是什么,所以我只能猜测这是否可能是您的问题。您应该提供有关问题所在以及问题如何出现的更多详细信息。

Your data should be of the form:

[ {cityName: "Texas"}, {cityName: "New York"}, {cityName: "Washington"} ]

And the store for comboboxB should have fields like:

var storeB = Ext.create('Ext.data.Store', {
    fields : { 'cityName' },
    ...
});

But you did not say what the error was, so I can just guess if this could be your problem. You should come up with more details about what the problem is and how it shows up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文