【问题标题】:extjs4 combobox change also change another combobox datastore, and choose the valueextjs4 组合框更改也会更改另一个组合框数据存储,并选择值
【发布时间】:2011-05-16 08:05:52
【问题描述】:

这可能是一个愚蠢的问题,但我想问一下,当组合框选择的值发生变化时,是否有可能改变另一个组合框的存储数据。

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

comboboxA 有一个包含国家名称的数据存储区 comboboxB 有一个包含城市名称的数据存储

所以,comboboxA 中的数据可能是:

- 美国 - 墨西哥 - 英格兰

comboboxA 的值为“USA”时,comboboxB 中的数据将是:

- 德克萨斯州 - 纽约 - 华盛顿

但是当comboboxA的值为“England”时,comboboxB中的数据会是:

- 伦敦 - 曼彻斯特

我怎么能这样做?

我试过了:

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");
    }

});

我的代码有问题吗?

【问题讨论】:

    标签: combobox extjs4 onchange datastore


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      comboboxB 的商店应该有如下字段:

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

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

      【讨论】:

        猜你喜欢
        • 2012-01-30
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-17
        相关资源
        最近更新 更多