Как reset/удалить все фильтры (select2, select, input) в x-редактируемой таблице?
Я хочу иметь кнопку reset/clear для всех используемых фильтров, но я не могу понять, что нужно отключить при нажатии на событие, связанное с этой кнопкой... например:
![введите описание изображения здесь]()
Что мне нужно было бы отключить и/или прикрепить и передать к тому, что для reset все эти select2, выбрать и ввести поля и восстановить все фильтры до нулевых/пустых значений?
Ответы
Ответ 1
При нажатии на кнопку все, что вам нужно, это reset значение select2.
Смотрите этот программный способ reset it https://select2.github.io/examples.html#programmatic
Все, что вам нужно для кнопки reset для всех входов select2 вместо 1, как показано в примере.
$('#yourButton').on('click', function() {
$('#yourfirstSelect2').val(null).trigger("change");
$('#yourSecondSelect2').val(null).trigger("change");
....
});
На всякий случай вы используете версию 3.5.x
, тогда там небольшое изменение, как показано здесь http://select2.github.io/select2/#programmatic
$('#yourButton').on('click', function() {
$('#yourfirstSelect2').select2("val", "");
$('#yourSecondSelect2').select2("val", "");
....
});
Для сброса других значений в x-editable вы можете следовать этим x-редактируемым полям сброса.
Всегда есть способ jQuery очистить все в форме -
$('#formName')[0].reset();
Ответ 2
Это сработало для меня
Он будет reset всеми выбранными параметрами select2, когда форма reset, вы можете инициировать это событие на кнопке кнопки или любое другое событие в соответствии с вашими требованиями.
$("#id").val(null).trigger("change");
Ответ 3
попробуйте этот код ниже reset. нашел его на https://vitalets.github.io/x-editable/docs.html#newrecord
<button id="reset-btn" class="btn pull-right">Reset</button>
<script>
$('#reset-btn').click(function() {
$('.myeditable').editable('setValue', null) //clear values
.editable('option', 'pk', null) //clear pk
.removeClass('editable-unsaved'); //remove bold css
$('#save-btn').show();
$('#msg').hide();
});
<script>
Ответ 4
В соответствии с вашим снимком экрана я предполагаю, что весь ваш фильтр динамически генерируется. Для reset всего поля вы можете использовать следующий код jQuery
.
$( document ).ready(function() {
$('body').on('click','#resetButtonSelector', function() {
$("body select").select2("val", "");
$("body input").val("");
$('body select').val("")
});
});
Если у вас есть форма, вы можете использовать этот код:
$( document ).ready(function() {
$('body').on('click','#resetButtonSelector', function() {
$("body select").select2("val", "");
$('#formId')[0].reset();
});
});
Вот несколько подробностей, которые могут сработать для вас,
$(':input','#formId')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
Пожалуйста, посмотрите это сообщение для: Сброс многоступенчатой формы с помощью jQuery
Ответ 5
лучший способ - удалить select
.
Это работает следующим образом: $('.select2-search-choice').remove();
Чтобы удалить селектор, я обратился к имени селектора.