我有以下代码段:
var divCombo = new dijit.form.ComboBox({
id: "clientDivision",
name: "clientDivision.name",
value:"${project?.clientDivision?.encodeAsHTML()}",
required: "true",
store: divStore,
pageSize:"15"
},divisionNode);
divCombo.onchange = function(){
setCbHiddenId(this, 'clientDivision.id');
};
这似乎没有触发setCbHiddenId函数。我在divCombo组合框中更改了值,并且firebug永远不会停留在脚本中设置的断点处。
我到底做错了什么?我试图在事后定义它,因为它需要在onchange函数中引用它自己。
答案 0 :(得分:3)
根据您的需要,您可以将小部件连接到某个功能,也可以查看小部件的值(需要1.6 +)。
连接方法。你需要确保'this'是正确的对象。在这个例子中它是divCombo。此外,dijits使用大写事件(onChange而不是onchange)
divCombo.connect(divCombo, 'onChange', function(newValue) {
setCbHiddenId(this, 'clientDivision.id');
});
手表方法。再次,在功能内部注意'this'。
divCombo.watch('value', function(property, oldValue, newValue) {
setCbHiddenId(this, 'clientDivision.id');
})