0

こんにちは私はselect(3つのオプション)とselectが変更されるたびに新しいオプションで更新されるComboBoxを持っています。ただし、選択が変更されるたびにComboBoxを更新または更新することはできません。ページが更新された場合にのみ機能します。

meter_Select.on('change', function()
{
console.debug("selected -> " + meter_Select.value);
switch(meter_Select.value)
{
case 'testdata1970_05': var memoStore2 =  new Memory({data:response2});
break;
case 'testdata1970_10': var memoStore2 =  new Memory({data:response3});
break;
case 'testdata2060_03': var memoStore2 =  new Memory({data:response1});
}

var combx = new ComboBox({
store: memoStore2,
    searchAttr: "mfg_code"
    }, "node_cardSelect");
    combx.startup();

詳細については、jsfiddleでチェックアウトできます-http : //jsfiddle.net/clementyap/9tNhN/6/ アドバイスしてください。あなたの助けをいただければ幸いです、そして事前にクレメントに感謝します

4

1 に答える 1

4

ブラウザの JavaScript コンソールを見ると、次のように表示されます。

不明なエラー: id==node_cardSelect でウィジェットを登録しようとしましたが、その ID は既に登録されています

これは、毎回同じ ID で ComboBox を再作成しようとしているためです。ComboBox が既に存在する場合は、ストアを更新してスタートアップを再度呼び出すか、単に破棄して新しいストアを作成することができます。

        var combx = registry.byId("node_cardSelect");
        if(combx) {
            combx.store = memoStore2;
        }
        else {
            combx = new ComboBox({
                store: memoStore2,
                searchAttr: "mfg_code"
            }, "node_cardSelect");
        }

        combx.startup();

上記の修正を加えた更新された jsfiddle は次のとおりです: http://jsfiddle.net/nhnDr/1/

于 2013-03-12T12:29:08.710 に答える