0

嗨,我有一个选择(3 个选项)和一个组合框,每次选择更改时都会使用新选项进行更新。但是,每次更改选择时,我都无法更新或刷新 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 回答