T Das folgende Beispiel zeigt ein programmatisches Beispiel zum Festlegen der Eigenschaft checked
für ein Widget checkbox
.
Das Skript ruft die Referenzen Ihrer Kontrollkästchen unter Verwendung von dijit/registry
entgegen, um das DOM abzufragen.
Statt eine Eigenschaft direkt für Ihr Widget wie dies der Einstellung:
dom.byId(item).checked = true;
Ich würde vorschlagen, einen Setter wie mit:
widgetReference.set('checked', true);
Dies wird das Widget Lebenszyklus ermöglichen ordnungsgemäß funktioniert.
Live-Beispiel hier:
https://jsfiddle.net/femtf4uh/
require(["dijit/form/CheckBox", "dijit/registry", "dijit/form/Button", "dojo/domReady!"], function(CheckBox, registry, Button) {
new CheckBox({
id: "checkBox0",
name: "checkBox0",
value: "option0",
checked: false,
onChange: function(event) {
}
}, "checkBox0").startup();
new CheckBox({
id: "checkBox1",
name: "checkBox1",
value: "option1",
checked: false,
onChange: function(event) {
}
}, "checkBox1").startup();
var markCheckAll = function() {
registry.toArray().forEach(function(widget) {
if (widget.type === 'checkbox'){
widget.set('checked', true);
}
});
};
markCheckAll();
});
<input id="checkBox0" />
<label for="checkBox">Option 0</label>
<br>
<input id="checkBox1" />
<label for="checkBox">Option 1</label>
<br>
Das ist richtig, aber 'dom.byId (Pos)' 'kehrt null', so dass ich wette,' this._getAllCheckBoxIDs () 'gibt nicht zurück, was Sie erwarten ... Mit einem jfiddle konnten wir eine bessere Hilfe zur Verfügung stellen – ben
bitte können Sie den Inhalt der _getAllCheckBoxIDs() Funktion teilen! –
Schätzen Sie Ihre Antworten. Es stellte sich heraus, dass die Checkboxen beim Aufruf von _getAllCheckBoxIDs() nicht erstellt wurden. –