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