Ich habe versucht, ein onChange-Ereignis hinzuzufügen, das jedes Mal ausgelöst werden soll, wenn im FilteringSelect eine Auswahl getroffen wird, aber es scheint nicht ausgelöst zu werden. Ich habe versucht, die Aktion in der on-Funktion zu ändern und onChange und beide arbeiten nicht. Ich habe versucht, onChange als Parameter der FilteringSelect zu haben, aber das hat auch nicht funktioniert.Hinzufügen eines OnChange-Ereignisses zu einem Dojo FilteringSelect
Ich benutze Dojo 1.10.
require(["dijit/form/FilteringSelect", "dojo/store/Memory", "dojo/dom", "dojo/on", "dojo/domReady!"],
function(FilteringSelect, Memory, dom, on) {
var filteringSelect = new FilteringSelect({
id: "zoom",
name: "zoom",
value: "z",
intermediateChanges: true,
store: new Memory({
data: [
{name:"Zoom", value:"z"},
{name:"50%", value:".5"},
{name:"75%", value:".75"},
{name:"100%", value:"1"},
{name:"125%", value:"1.25"},
{name:"150%", value:"1.5"},
{name:"175%", value:"1.75"},
{name:"200%", value:"2"}
]
}),
searchAttr: "name"
}, "zoomDiv").startup();
on(filteringSelect, 'change', function(value) {
console.log(value);
});
});
Ich habe versucht, eine Geige des Codes zu sehen. Was ich gefunden habe, ist, dass Sie die Erstellung von 'filteringSelect' und dessen' startup' trennen müssen. Wenn sie getrennt sind, dann funktioniert es gut (obwohl der "Wert" aus offensichtlichen Gründen immer undefiniert ist). Obwohl ich nicht weiß, was der Grund für das gleiche ist wie in den Beispielen auf der DOJO-Website, sind sie in einer einzigen Aussage. – Himanshu