Ich habe eine Reihe von select
Elementen in einer Form, mit der ich das Jquery Chosen-Plugin verwende . Wie kann ich das Formular zurücksetzen? Folgendes funktioniert nicht:
<input type="reset" />
Ich habe eine Reihe von select
Elementen in einer Form, mit der ich das Jquery Chosen-Plugin verwende . Wie kann ich das Formular zurücksetzen? Folgendes funktioniert nicht:
<input type="reset" />
Antworten:
Sie müssen den Wert des Feldes zurücksetzen und dann das
liszt:updated
Ereignis an der Eingabe auslösen , damit es aktualisiert wird. Ich habe hier mit einem funktionierenden Beispiel herumgespielt.http://jsfiddle.net/VSpa3/3/
$(".chzn-select").chosen(); $('a').click(function(){ $(".chzn-select").val('').trigger("liszt:updated"); });
Seit der Veröffentlichung von gewähltem v1.0 heißt der Trigger nun 'gewählt: aktualisiert'. Jeder, der diese neue Version verwendet, muss das Update mit auslösen
$(".chosen-select").val('').trigger("chosen:updated");
quelle
$selectField.val([]).trigger('chosen:updated')
scheint den Trick zu tunSeit der Veröffentlichung von gewähltem v1.0 heißt der Trigger nun 'gewählt: aktualisiert'. Jeder, der diese neue Version verwendet, muss das Update mit auslösen
$(".chosen-select").val('').trigger("chosen:updated");
quelle
Sie könnten dies versuchen:
$('select').chosen('destroy'); $('select').prop("selectedIndex", -1); $('select').chosen();
quelle
Verwenden Sie Folgendes, um das Zurücksetzen auf natürliche Weise zu ermöglichen:
$("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'); }); }
quelle
$("#Your_id").trigger("chosen:updated");
Das hat bei mir funktioniert
quelle
Für einen stressfreien Ansatz ... vorausgesetzt, Ihre Eingaben befinden sich in
<form>
Tags:<form> <!-- your selects go here and any other input fields --> <input type="reset" value="Reset"> </form>
Das würde ich tun:
$("input[type='reset'], button[type='reset']").click(function(e){ setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50); });
Siehe Geige hier .
quelle
Keine der vorherigen Optionen funktioniert für mich. Ich musste es wie in der alten Schule machen, sogar mit einheimischem Javascript. Hier ist der Code:
$('#dllSample option').each(function(){ $(this)[0].selected = false; }); $("#dllSample").trigger("chosen:updated");
quelle
Keine der Antworten hier hat bei mir funktioniert. Ich benutze ausgewählte Auswahl mit dem Mehrfachattribut. Die normale Schaltfläche zum Senden eines Formulars hat den Trick ebenfalls nicht ausgeführt. Also hatte ich gerade eine Funktion, die dies beim Klicken tat.
//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(); }
quelle
Manchmal müssen Sie die ausgewählte Auswahl zurücksetzen, die aufgerufen wird.
Ich mache das
jQuery.fn.chosen_reset = function(n){ $(this).chosen('destroy'); $(this).prop('selectedIndex', 0); $(this).chosen(n) }
Rufen Sie diese Funktion so auf, mit den Optionen als Argument
$('select').chosen_reset({width:'369px'});
quelle
In jQuery sollte so etwas funktionieren
<input name="Text1" id="something" type="text"> <input type="reset" id="reset_me"/> $("#reset_me").click(function() { $("#something").val(""); });
quelle