1

これはばかげた質問かもしれませんが、コンボボックスの選択された値が変更されたときに、別のコンボボックスのストアデータを変更する可能性があるかどうかを尋ねたいと思います。

紛らわしいかもしれないので、明確な例を挙げましょう...

comboboxAには国の名前を含むデータストアがありますcomboboxBには都市の名前を含むデータストアがあります

したがって、のデータは次のcomboboxAようになります。

-米国
 -メキシコ
 - イングランド

また、comboboxBの値comboboxAが「USA」の場合のデータは次のようになります。

-テキサス
 - ニューヨーク
 -ワシントン

ただし、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");
    }

});

私のコードに何か問題がありますか?

4

2 に答える 2

0

更新されたCombobox FAQを参照してください。select イベントにはリスナーを使用する必要があります。「リンクされたコンボボックス」の例を参照してください

于 2011-12-29T08:23:58.060 に答える
-1

データは次の形式である必要があります。

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

そして、comboboxB のストアには次のようなフィールドが必要です。

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

しかし、あなたはエラーが何であるかを言わなかったので、これがあなたの問題であるかどうかは推測できます. 問題の内容とそれがどのように表示されるかについて、より詳細な情報を提供する必要があります。

于 2011-09-16T11:41:01.193 に答える