¿Es necesario actualizar el cuadro de selección de Javascript en YUI3, al seleccionar ninguno?

StackOverflow https://stackoverflow.com/questions/1201898

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy usando YUI 3 para permitir que alguien haga clic en " Seleccionar todo " o " Seleccionar Ninguno " y luego haga que el cuadro de selección seleccione todos los elementos o deseleccione todos, respectivamente. Aquí está mi código:

// 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, y selectBoxNode son Nodos evidentes, devueltos correctamente. Actualización: seleccionarTodo funciona, tuve que eliminar manualmente el atributo 'seleccionado' para cada uno y volver a agregarlo.

El selectNoneLink no funciona: deselecciona solo los elementos que no se seleccionaron antes ... aunque la inspección de DOM muestra que el atributo selectedIndex realmente se cambió a -1, ¿entonces tal vez necesita una actualización?

Cualquier ayuda sería apreciada. Si esto sucede en todos los marcos, sería bueno saberlo también.

¡Gracias!

¿Fue útil?

Solución

Esto funcionó para mí.

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 );
   });
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top