Brett
Estoy usando Select2 dentro de WooCommerce en algunas de mis propias áreas personalizadas y lo estoy apuntando con un código para agregar y eliminar ciertas clases y funciona bien excepto por el Seleccione Woo las instancias utilizadas por WooCommerce no agregan la clase usando el.addClass('has-selection');
en el ejemplo proporcionado.
Código de ejemplo:
(function($) {
$('select').each(function(e) {
handleSelectSelections($(this));
});
})( jQuery );
function handleSelectSelections(select) {
var el = (select.next('.select2').length) ? jQuery(select.data('select2').$container) : select;
if (select.val() !== "" && select.val() !== null) {
el.addClass('has-selection');
} else {
el.removeClass('has-selection');
}
}
Todo funciona bien, excepto cuando llega a la parte real donde agrega la clase, no funciona, no se agrega ninguna clase.
¿Me estoy perdiendo de algo?
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
¿Imprimiste select.val()?
– grande
31 de mayo de 2019 a las 2:23
@bigless Sí, el valor es correcto.
– Brett
31 de mayo de 2019 a las 11:53
¿Cuál es el resultado de el? ¿No hay error en la consola?
– Romuleald
8 de junio de 2019 a las 7:37
Debería
handleSelectSelections
¿Activar en el cambio de selección, o solo una vez? No puedo ayudar sin un ejemplo de trabajo, ¿tiene una página en línea?– skobaljic
9 de junio de 2019 a las 10:01
@romuleald Correcto, solo genera el elemento como se esperaba.
– Brett
9 de junio de 2019 a las 13:11