如何获取所选fname的fI ??
这是我的代码..
var fS = new Memory({ //store for the combo
data: [
{fN:"", fId:""}
]
});
var fCombo = new ComboBox({ //combo box
id: "fCombo",
name: "fCombo",
value: "Select",
searchAttr: "fName"
}, "fCombo");
fCombo.store = fStore;
dojo.xhrPost({
url: "XXX",
handleAs: "json",
load: function(response, ioArgs){
fCombo.store.data = response.xx;
return response;
},
error: function(response, ioArgs){
console.log("Error", response+' '+ioArgs);
return response;
}
});
dojo.connect(dijit.byId("fCombo"), 'onChange',function(e){
//code to write based on f id
}
我试过了..
var Id = fStore.getValue(dijit.byId("fCombo").data, "fName");
但不能......它说对象不支持这种性质
请帮助.. !!
答案 0 :(得分:2)
它抱怨,因为dijit.byId("farmCombo")
返回ComboBox,它不支持'.data'。
请尝试使用“connect
”,而不要使用“watch
”。你可以看到很多东西。 “价值”会让你获得纯粹的价值变化,但是如果你听'item'更改,你将获得完整的新旧商品,您可以从中检索商品ID。
e.g。
farmCombo.watch("item", function(what, oldVal, newVal) {
// selected farmid is newVal.farmId
});
以下示例在单独的文本框中显示您选择的ID:
http://jsfiddle.net/RoystonS/cH6hf/
如果您没有指定要观看的值,您的回调会显示所有更改,这可能非常有用。