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!

War es hilfreich?

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 );
   });
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top