У мене є купа select
елементів у формі, за допомогою якої я використовую плагін Jquery Chosen . Як я можу скинути форму? Наступне не працює:
<input type="reset" />
У мене є купа select
елементів у формі, за допомогою якої я використовую плагін Jquery Chosen . Як я можу скинути форму? Наступне не працює:
<input type="reset" />
Відповіді:
Вам потрібно буде скинути значення поля, а потім викликати liszt:updated
подію на вході, щоб оновити його, я зробив тут скрипку з робочим прикладом.
$(".chzn-select").chosen();
$('a').click(function(){
$(".chzn-select").val('').trigger("liszt:updated");
});
З моменту випуску вибраної версії 1.0 тригер тепер називається 'selected: updated'. Кожен, хто використовує цю нову версію, повинен активувати оновлення за допомогою
$(".chosen-select").val('').trigger("chosen:updated");
$selectField.val([]).trigger('chosen:updated')
здається, це трюк
З моменту випуску вибраної версії 1.0 тригер тепер називається 'selected: updated'. Кожен, хто використовує цю нову версію, повинен активувати оновлення за допомогою
$(".chosen-select").val('').trigger("chosen:updated");
для того, щоб скинути роботу, природно, використовуйте це:
$("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');
});
}
$("#Your_id").trigger("chosen:updated");
Це спрацювало для мене
Для більш безпроблемного підходу ... припускаючи, що ваші дані знаходяться всередині <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);
});
Дивіться тут скрипку .
Жоден з попередніх варіантів не працює для мене. Мені довелося зробити це, як олдскул, навіть використовуючи якийсь власний javascript, ось код:
$('#dllSample option').each(function(){
$(this)[0].selected = false;
});
$("#dllSample").trigger("chosen:updated");
Жодна з відповідей тут не спрацювала для мене. Я використовую вибраний вибір із множинним атрибутом. Звичайна кнопка подання форми теж не зробила трюку. Отже, у мене просто була функція робити це після натискання.
//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();
}
Іноді доводиться перезавантажувати вибрану опцію.
Я роблю це
jQuery.fn.chosen_reset = function(n){
$(this).chosen('destroy');
$(this).prop('selectedIndex', 0);
$(this).chosen(n)
}
І викличте цю функцію так, з параметрами як аргумент
$('select').chosen_reset({width:'369px'});
У jQuery щось подібне повинно працювати
<input name="Text1" id="something" type="text">
<input type="reset" id="reset_me"/>
$("#reset_me").click(function() {
$("#something").val("");
});