Tengo un montón de select
elementos en un formulario con el que estoy usando el complemento Jquery Chosen . ¿Cómo puedo restablecer el formulario? Lo siguiente no funciona:
<input type="reset" />
Tengo un montón de select
elementos en un formulario con el que estoy usando el complemento Jquery Chosen . ¿Cómo puedo restablecer el formulario? Lo siguiente no funciona:
<input type="reset" />
Respuestas:
Deberá restablecer el valor del campo, luego activar el
liszt:updated
evento en la entrada para que se actualice, he hecho un violín con un ejemplo de trabajo aquí.http://jsfiddle.net/VSpa3/3/
$(".chzn-select").chosen(); $('a').click(function(){ $(".chzn-select").val('').trigger("liszt:updated"); });
Desde el lanzamiento de la v1.0 elegida, el disparador ahora se llama 'elegido: actualizado'. Cualquiera que use esta nueva versión debe activar la actualización usando
$(".chosen-select").val('').trigger("chosen:updated");
fuente
$selectField.val([]).trigger('chosen:updated')
parece hacer el trucoDesde el lanzamiento de la v1.0 elegida, el disparador ahora se llama 'elegido: actualizado'. Cualquiera que use esta nueva versión debe activar la actualización usando
$(".chosen-select").val('').trigger("chosen:updated");
fuente
Puedes probar esto:
$('select').chosen('destroy'); $('select').prop("selectedIndex", -1); $('select').chosen();
fuente
para que el reinicio funcione, naturalmente, use esto:
$("input[type='reset'], button[type='reset']").click(function(e){ e.preventDefault(); var form = $(this).closest('form').get(0); form.reset(); $(form).find('select').each(function(i, v) { $(v).trigger('chosen:updated'); }); }
fuente
$("#Your_id").trigger("chosen:updated");
Esto funcionó para mi
fuente
Para un enfoque más sencillo ... asumiendo que sus entradas están dentro de las
<form>
etiquetas:<form> <!-- your selects go here and any other input fields --> <input type="reset" value="Reset"> </form>
Esto es lo que haría:
$("input[type='reset'], button[type='reset']").click(function(e){ setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50); });
Vea el violín aquí .
fuente
Ninguna de las opciones anteriores me funciona. Tuve que hacerlo como en la vieja escuela, incluso usando javascript nativo, aquí está el código:
$('#dllSample option').each(function(){ $(this)[0].selected = false; }); $("#dllSample").trigger("chosen:updated");
fuente
Ninguna de las respuestas aquí funcionó para mí. Estoy usando la selección elegida con el atributo múltiple. El botón normal para enviar formulario tampoco funcionó. Así que tuve una función para hacer esto al hacer clic.
//Gets the selected values var selected = []; for (var option of document.getElementById('mySelect').options) { if (option.selected) { selected.push(option.value); } } //Resets the form document.getElementById('form1').reset(); //Chosen values doesnt get reset, so we do this manually //Removes the values selected by clicking on the x icon $link = $('a.search-choice-close'); var i; for (i = 0; i < selected.length; i++) { $link[i].click(); }
fuente
A veces, debe restablecer la selección que se solicitó.
hago esto
jQuery.fn.chosen_reset = function(n){ $(this).chosen('destroy'); $(this).prop('selectedIndex', 0); $(this).chosen(n) }
Y llama a esta función así, con las opciones como argumento
$('select').chosen_reset({width:'369px'});
fuente
En jQuery, algo como esto debería funcionar
<input name="Text1" id="something" type="text"> <input type="reset" id="reset_me"/> $("#reset_me").click(function() { $("#something").val(""); });
fuente