jQuery выбрал сброс
у меня есть куча select
элементы в форме, с которой Я использую выбранный плагин Jquery. Как я могу сбросить форму? Следующее не работает:
<input type="reset" />
8 ответов:
вам нужно будет сбросить значение поля, а затем вызвать
liszt:updated
событие на входе, чтобы получить его для обновления, я сделал скрипку с рабочим примером здесь.$(".chzn-select").chosen(); $('a').click(function(){ $(".chzn-select").val('').trigger("liszt:updated"); });
С момента выпуска chosen v1.0 триггер теперь называется 'chosen:updated'. Любой, кто использует эту новую версию, должен запустить обновление с помощью
$(".chosen-select").val('').trigger("chosen:updated");
С момента выпуска chosen v1.0 триггер теперь называется 'chosen:updated'. Любой, кто использует эту новую версию, должен запустить обновление с помощью
$(".chosen-select").val('').trigger("chosen:updated");
вы можете попробовать это:
$('select').chosen('destroy'); $('select').prop("selectedIndex", -1); $('select').chosen();
для того, чтобы сброс работал естественно используйте это:
$("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'); }); }
ни один из предыдущих вариантов не работает для меня. Мне пришлось делать это как в старой школе, даже используя какой-то родной javascript, вот код:
$('#dllSample option').each(function(){ $(this)[0].selected = false; }); $("#dllSample").trigger("chosen:updated");
иногда вы должны сбросить выбор, который выбран вызывается.
Я делаю это
jQuery.fn.chosen_reset = function(n){ $(this).chosen('destroy'); $(this).prop('selectedIndex', 0); $(this).chosen(n) }
и вызовите эту функцию вот так, с опциями в качестве аргумента
$('select').chosen_reset({width:'369px'});
для более беспроблемного подхода...предполагая, что ваши входы находятся внутри
<form>
теги:<form> <!-- your selects go here and any other input fields --> <input type="reset" value="Reset"> </form>
вот что я бы сделал:
$("input[type='reset'], button[type='reset']").click(function(e){ setTimeout(function(){ $("select").trigger("chosen:updated"); }, 50); });
посмотреть скрипку здесь.