Mam kilka select
elementów w formie, w której używam wtyczki Jquery Chosen . Jak mogę zresetować formularz? Nie działa:
<input type="reset" />
Mam kilka select
elementów w formie, w której używam wtyczki Jquery Chosen . Jak mogę zresetować formularz? Nie działa:
<input type="reset" />
Odpowiedzi:
Będziesz musiał zresetować wartość pola, a następnie wyzwolić
liszt:updated
zdarzenie na wejściu, aby zaktualizować je. Zrobiłem tu skrzypce z działającym przykładem.http://jsfiddle.net/VSpa3/3/
$(".chzn-select").chosen(); $('a').click(function(){ $(".chzn-select").val('').trigger("liszt:updated"); });
Od wydania wybranej wersji 1.0 wyzwalacz nazywa się teraz „wybrany: zaktualizowany”. Każdy, kto używa tej nowej wersji, musi uruchomić aktualizację za pomocą
$(".chosen-select").val('').trigger("chosen:updated");
źródło
$selectField.val([]).trigger('chosen:updated')
wydaje się działaćOd wydania wybranej wersji 1.0 wyzwalacz nazywa się teraz „wybrany: zaktualizowany”. Każdy, kto używa tej nowej wersji, musi uruchomić aktualizację za pomocą
$(".chosen-select").val('').trigger("chosen:updated");
źródło
Możesz spróbować tego:
$('select').chosen('destroy'); $('select').prop("selectedIndex", -1); $('select').chosen();
źródło
aby reset działał naturalnie, użyj tego:
$("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'); }); }
źródło
$("#Your_id").trigger("chosen:updated");
To zadziałało dla mnie
źródło
Dla bardziej bezproblemowego podejścia ... zakładając, że dane wejściowe znajdują się wewnątrz
<form>
tagów:<form> <!-- your selects go here and any other input fields --> <input type="reset" value="Reset"> </form>
Oto, co bym zrobił:
$("input[type='reset'], button[type='reset']").click(function(e){ setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50); });
Zobacz skrzypce tutaj .
źródło
Żadna z poprzednich opcji nie działa dla mnie. Musiałem to zrobić jak w starej szkole, nawet używając jakiegoś natywnego javascript, oto kod:
$('#dllSample option').each(function(){ $(this)[0].selected = false; }); $("#dllSample").trigger("chosen:updated");
źródło
Żadna z odpowiedzi tutaj nie zadziałała. Używam wybranego elementu typu select z atrybutem wielokrotnym. Zwykły przycisk formularza wysyłania też nie zadziałał. Po prostu otrzymałem funkcję, która robi to po kliknięciu.
//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(); }
źródło
Czasami trzeba zresetować wybrany, który jest wywoływany.
robię to
jQuery.fn.chosen_reset = function(n){ $(this).chosen('destroy'); $(this).prop('selectedIndex', 0); $(this).chosen(n) }
I wywołaj tę funkcję w ten sposób, z opcjami jako argumentem
$('select').chosen_reset({width:'369px'});
źródło
W jQuery coś takiego powinno działać
<input name="Text1" id="something" type="text"> <input type="reset" id="reset_me"/> $("#reset_me").click(function() { $("#something").val(""); });
źródło