¿Cómo configuro el marcador de posición para restablecer el valor con select2? En mi ejemplo, si se hace clic en ubicaciones o en cuadros de selección de calificación y mi select2 tiene un valor que el valor de select2 debería restablecerse y mostrar el marcador de posición predeterminado. Este script restablece el valor pero no muestra el marcador de posición
$("#locations, #grade ").change(function() {
$('#e6').select2('data', {
placeholder: "Studiengang wählen",
id: null,
text: ''
});
});
$("#e6").select2({
placeholder: "Studiengang wählen",
width: 'resolve',
id: function(e) {
return e.subject;
},
minimumInputLength: 2,
ajax: {
url: "index.php?option=com_unis&task=search.locator&tmpl=component&<?php echo JSession::getFormToken() ?>=1",
dataType: 'json',
data: function(term, page) {
return {
q: term, // search term
g: $('#grade option:selected').val(),
o: $('#locations option:selected').val()
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: subjectFormatResult,
formatSelection: subjectFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function(m) {
return m;
}
});
.select2("val", "")
funcione.$("#customers_select").val('').trigger('change') ;
Usé esto y funcionó.Select2 ha cambiado su API:
La mejor manera de hacer esto ahora es:
Edición: diciembre de 2016 Los comentarios sugieren que la siguiente es la forma actualizada de hacer esto:
fuente
$('#your_select_input').val('').trigger('change')
change
adición del activador, pero también activa la biblioteca de validación que estamos usando, por ahora tendré que usar la versión obsoleta.La respuesta aceptada no funciona en mi caso. Estoy intentando esto, y está funcionando:
Definir select2:
o
Reiniciar:
o
fuente
$('#your_select_input').val('').trigger('change')
tampoco$('#your_select_input').val('');
funciona en FirefoxLo único que puede funcionar para mí es:
Estoy usando la versión 4.0.3
Referencia
De acuerdo con la documentación de Select2
fuente
$('select2element').val("").trigger("change")
funciona bien.Con Select2 versión 4.0.9 esto funciona para mí:
fuente
Select2 usa una clase CSS específica, por lo que una manera fácil de restablecerla es:
Y tiene la ventaja de que si tiene múltiples Select2 en la misma forma, todos se restablecerán con este solo comando.
fuente
Utilizar este :
fuente
PARA ELIMINAR EL VALOR SELECCIONADO
PARA BORRAR LOS VALORES DE OPCIÓN
fuente
Sé que esta es una pregunta antigua, pero funciona para la versión 4.0 de select2
o
si tiene eventos de cambio vinculados a él
fuente
$('#select2-element').last().val('').trigger('change.select2');
Use lo siguiente para configurar select2
Y para borrar la entrada seleccionada mediante programación
fuente
Esta es la forma correcta:
Estoy usando la última versión de Select2.
fuente
En primer lugar, debe definir select2 de esta manera:
Para restablecer select2, simplemente puede usar el siguiente bloque de código:
fuente
Puede borrar la selección por
Pero no volverá a su marcador de posición.
Entonces es una solución a medias
fuente
Probé las soluciones anteriores pero no funcionó para mí.
Este es un tipo de pirateo, donde no tienes que activar el cambio.
o
fuente
Para los usuarios que cargan datos remotos, esto restablecerá el select2 al marcador de posición sin activar ajax. Funciona con v4.0.3:
fuente
Entonces, para restablecer el formulario, algunos de ustedes tendrán un botón de reinicio. Agregue el siguiente código dentro de la etiqueta del script
O simplemente para vaciar el campo de selección sin mantener un marcador de posición:
fuente
Para el titular del lugar
Para restablecer un seleccione 2
Espero que esto ayude
fuente
Siguiendo la forma recomendada de hacerlo. Encontrado en la documentación https://select2.github.io/options.html#my-first-option-is-being-displayed-instead-of-my-placeholder (esto parece ser un problema bastante común):
Cuando esto sucede, generalmente significa que no tiene un espacio
<option></option>
en blanco como la primera opción en su<select>
.como en:
fuente
También estaba teniendo este problema y se debe a
val(null).trigger("change");
unNo select2/compat/inputData
error antes de que el marcador de posición se restablezca. Lo resolví detectando el error y configurando el marcador de posición directamente (junto con un ancho). Nota: Si tiene más de uno, deberá atrapar cada uno.Estoy ejecutando Select2 4.0.3
fuente
change
evento. Intente dispararchange.select2
: eso no disparará oyentes vinculados (consulte github.com/select2/select2/issues/3620 ).a partir de v.4.0.x ...
para borrar los valores, pero también restaurar el uso del marcador de posición ...
si está vacío, seleccionará el primer elemento de opción en su lugar, que puede no ser lo que desea
francamente ... Select2 es un dolor en el trasero, me sorprende que no haya sido reemplazado.
fuente
He probado las soluciones anteriores pero ninguna funcionó con la versión 4x.
Lo que quiero lograr es: borrar todas las opciones pero no tocar el marcador de posición. Este código me funciona.
fuente
Usando select2 versión 3.2 esto funcionó para mí:
No necesité implementar
initSelection
fuente
Después de probar las primeras 10 soluciones aquí y fallar, encontré que esta solución funcionaba (vea el comentario "nilov comentó el 7 de abril • editado" en la página):
Luego se realiza el cambio:
(El autor mostró originalmente
var $select = $(this[1]);
, a lo que corrigió un comentaristavar $select = $(this[0]);
, que muestro arriba).fuente
Use este código en su archivo js
fuente
Antes de borrar el valor con esta
$("#customers_select").select2("val", "");
opción Intente establecer el foco en cualquier otro control al hacer clic en restablecer.Esto mostrará el marcador de posición nuevamente.
fuente
La interfaz DOM, ya realiza un seguimiento del estado inicial ...
Hacer lo siguiente es suficiente:
fuente
Bueno, cuando lo hice
Comencé a tener algún tipo de retraso después de unos tres o cuatro desencadenantes. Supongo que hay una pérdida de memoria. No está dentro de mi código porque si elimino esta línea, mi aplicación está libre de retrasos.
Como tengo las opciones de AllowClear establecidas en true, elegí
Esto puede ser seguido por un $ ('myselectdropdown'). Select2 ('close'); desencadenador de eventos en el elemento dom select2 en caso de que desee cerrar el menú desplegable de sugerencias abiertas.
fuente
Una forma [muy] hacky de hacerlo (lo vi funcionar para la versión 4.0.3):
fuente
Mi solución es:
fuente
donde 0 es tu primer valor del menú desplegable
fuente