Javascript Select Box aktualisieren notwendig in YUI3, bei der Auswahl keine?
Frage
Ich verwende YUI 3 bis jemand „Select All“ oder „Select None“ lassen klicken und dann haben die Auswahlbox alle Elemente auswählen oder alle von ihnen abzuwählen, respectively. Hier ist mein Code:
// This selects all
Y.on('click',function (e) {
selectBoxNode.get("options").each(function () {
this.removeAttribute('selected');
this.setAttribute('selected','selected');
});
}, selectAllNode
);
// This selects none
Y.on('click',function (e) {
selectBoxNode.get("options").each(function () {
this.setAttribute('selected','false');
this.removeAttribute('selected');
});
selectBoxNode.('selectedIndex',-1);
}, selectNoneNode
);
selectAllLink, selectNoneLink und selectBoxNode ist selbstverständlich, richtig Knoten zurückgegeben. Update:. SelectAll funktioniert, hatte ich manuell das ‚ausgewählt‘ für jedes Attribut zu entfernen und erneut hinzufügen
Die selectNoneLink nicht funktioniert: Es Auswahl entfernen nur die Elemente, die vorher noch nicht ausgewählt wurden ... obwohl DOM Inspektion zeigt, dass das selectedIndex Attribut in der Tat auf -1 geändert wird, vielleicht braucht es eine Refresh
?Jede Hilfe wäre sehr geschätzt. Wenn dies nicht in allen Frameworks geschieht, dass nett sein würde, wie gut zu kennen.
Danke!
Lösung
Das funktioniert für mich.
YUI().use('node', function(Y) {
Y.get('#unsel').on('click', function(e) {
Y.get('select').get('options').set('selected',false);
});
Y.get('#sel').on('click', function(e) {
Y.get('select').get('options').set('selected', true );
});
});