¿Es necesario actualizar el cuadro de selección de Javascript en YUI3, al seleccionar ninguno?
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!
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 );
});
});