dojo 1.8 - 每次select中都有更改时无法更新ComboBox

时间:2013-03-12 09:48:47

标签: dojo

您好我有一个选择(3个选项)和一个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/ 请指教。 非常感谢您的帮助,并提前感谢 克莱门特

1 个答案:

答案 0 :(得分: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/

相关问题