0
dijit/form/ComboBox是选择元素和文本框的混合。 我有: - 3个记忆选择3个选项 每次选择“更改”时,组合框将填充选定的记忆 该项目可以在组合框中选择。 再次选择内存并将其填充到组合框中dojo1.8 - 无法在更新内存时刷新组合框的输入文本框
看起来一切都很好但是... 无法更新ComoBox的文本框以反映内存中的更改。或者甚至不能设置为空白。 我试过使用value:“”;或placeHolder:“”;但无济于事。
meter_Select.on('change', function()
{
//registry.byId('batchSelect').destroyrescursive();
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});
}
//memoStore2.put({"mfg_code":""});// it works but it needs to be moved to the top!
var combx = registry.byId('cardSelect');// at first it will be undefined
console.debug('ComboBox Select(1A) ='+combx);
if(combx)//if combx exists or already defined
{
combx.store = memoStore2;
combx.value = "";
combx.placeHolder = "Choose one of the batch...";
//combx.domAttr.set('cardSelect','displayedValue','');
console.debug('ComboBox Select(1C) ='+combx);
//domAttr.set('batchSelect','store','nemoStore2');
}
else
{// if combx does not exist or is not defined yet
combx = new ComboBox({
id: 'cardSelect',
store: memoStore2,
searchAttr: "mfg_code",
value :"",
placeHolder: "Choose one of the batch..."
}, "node_cardSelect");
console.debug('ComboBox Select(1B) ='+combx);
}
combx.startup();
您可以在jsFiddle Link 请告知退房。在此先感谢
您好感谢它确实有助于解决这个问题的机会。你能指引我到哪里我可以学习更多关于设置和获取?这是来自dojo/Stateful吗? – user1739825 2013-03-18 01:48:19
我不确定它是如何被记录的,它似乎是跨dojo/dijit/dojox的通用约定。例如,_WidgetBase描述了它:http://dojotoolkit.org/reference-guide/1.8/quickstart/writingWidgets.html#attributes(但对于例如dojo/store/xyz也是如此,也可能是dojo/Stateful )。 – Frode 2013-03-18 14:16:44