Как установить заполнитель при сбросе значения с помощью select2. В моем примере Если щелкнуть поля местоположения или оценки, и у моего select2 есть значение, значение select2 должно сброситься и отобразить заполнитель по умолчанию. Этот скрипт сбрасывает значение, но не показывает заполнитель
$("#locations, #grade ").change(function() {
$('#e6').select2('data', {
placeholder: "Studiengang wählen",
id: null,
text: ''
});
});
$("#e6").select2({
placeholder: "Studiengang wählen",
width: 'resolve',
id: function(e) {
return e.subject;
},
minimumInputLength: 2,
ajax: {
url: "index.php?option=com_unis&task=search.locator&tmpl=component&<?php echo JSession::getFormToken() ?>=1",
dataType: 'json',
data: function(term, page) {
return {
q: term, // search term
g: $('#grade option:selected').val(),
o: $('#locations option:selected').val()
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: subjectFormatResult,
formatSelection: subjectFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function(m) {
return m;
}
});
.select2("val", "")
работает.$("#customers_select").val('').trigger('change') ;
Я использовал это, и это сработало.Select2 изменил свой API:
Лучший способ сделать это сейчас:
Изменить: декабрь 2016 года Комментарии предполагают, что ниже это обновленный способ сделать это:
источник
$('#your_select_input').val('').trigger('change')
change
добавлением триггера, но также запускает используемую нами библиотеку проверки - сейчас мне придется использовать устаревшую версию.Принятый ответ не работает в моем случае. Я пытаюсь это, и это работает:
Определите select2:
или
Для сброса:
или
источник
$('#your_select_input').val('').trigger('change')
ни другое$('#your_select_input').val('');
не работает в FirefoxЕдинственное, что может работать для меня:
Я использую версию 4.0.3
Ссылка
Согласно документации Select2
источник
$('select2element').val("").trigger("change")
работает нормально тоже.С Select2 версии 4.0.9 это работает для меня:
источник
Select2 использует определенный класс CSS, поэтому его можно легко сбросить:
И у вас есть преимущество, если у вас есть несколько Select2 в одной форме, все они будут сброшены с помощью этой единственной команды.
источник
Использовать это :
источник
УДАЛИТЬ ВЫБРАННОЕ ЗНАЧЕНИЕ
ОЧИСТИТЬ ВАРИАНТЫ ОПЦИИ
источник
Я знаю, что это старый вопрос, но это работает для версии 4.0 select2
или
если у вас есть изменения событий, связанных с ним
источник
$('#select2-element').last().val('').trigger('change.select2');
Используйте следующие для настройки select2
И очистить выбор ввода программно
источник
Это правильный путь:
Я использую последнюю версию Select2.
источник
Во-первых, вы должны определить select2 следующим образом:
Для сброса select2 просто используйте следующий блок кода:
источник
Вы можете отменить выбор
Но это не вернет вас к вашему заполнителю.
Так что это половина решения
источник
Я попробовал вышеуказанные решения, но это не сработало для меня.
Это своего рода хак, когда вам не нужно вызывать изменения.
или
источник
Для пользователей, загружающих удаленные данные, это приведет к сбросу select2 в заполнитель без запуска ajax. Работает с v4.0.3:
источник
Таким образом, для сброса формы у некоторых из вас будет кнопка сброса. Добавьте следующий код внутри тега script
Или просто очистить поле выбора без сохранения заполнителя:
источник
Для местодержателя
Для сброса выбора 2
Надеюсь это поможет
источник
Следуя рекомендованному способу сделать это. Найдено в документации https://select2.github.io/options.html#my-first-option-is-being-displayed-instead-of-my-placeholder (это, кажется, довольно распространенная проблема):
Когда это происходит, это обычно означает, что у вас нет пробела
<option></option>
в качестве первого варианта в вашем<select>
.как в:
источник
У меня также была эта проблема, и она связана с
val(null).trigger("change");
выдачейNo select2/compat/inputData
ошибки до сброса заполнителя. Я решил это, поймав ошибку и установив заполнитель напрямую (вместе с шириной). Примечание: если у вас их больше одного, вам нужно поймать каждого из них.Я использую Select2 4.0.3
источник
change
событием. Попробуйте запуститьchange.select2
- это не вызовет связанных слушателей (см. Github.com/select2/select2/issues/3620 ).с v.4.0.x ...
очистить значения, а также восстановить использование заполнителя ...
если он пуст, он выберет первый элемент опции, который может быть не тем, что вы хотите
честно говоря ... Select2 такая боль в заднице, меня поражает, что он не был заменен.
источник
Я пробовал выше решения, но ни один не работал с версией 4x.
Чего я хочу добиться: очистить все варианты, но не трогать заполнитель. Этот код работает для меня.
источник
Используя select2 версии 3.2 это сработало для меня:
Не нужно было реализовывать
initSelection
источник
Попробовав первые 10 решений и потерпев неудачу, я обнаружил, что это решение работает (см. Комментарий nilov от 7 апреля • отредактированный »внизу страницы):
Затем вносятся изменения:
(Первоначально автор показал
var $select = $(this[1]);
, что исправил комментаторvar $select = $(this[0]);
, который я показываю выше.)источник
Используйте этот код в свой файл JS
источник
Прежде чем очистить значение с помощью этого,
$("#customers_select").select2("val", "");
попробуйте установить фокус на любой другой элемент управления при нажатии кнопки сброса.Это покажет заполнитель снова.
источник
Интерфейс DOM уже отслеживает начальное состояние ...
Так что достаточно сделать следующее:
источник
Ну, когда бы я ни делал
Я начал испытывать некоторое отставание после трех-четырех срабатываний. Я полагаю, что есть утечка памяти. Это не в моем коде, потому что, если я удаляю эту строку, мое приложение будет без задержек.
Поскольку для параметров allowClear установлено значение true, я
Это может сопровождаться $ ('myselectdropdown'). Select2 ('close'); запуск события на элементе select2 dom, если вы хотите закрыть раскрывающийся список открытых предложений.
источник
Один [очень] хакерский способ сделать это (я видел, как это работает для версии 4.0.3):
источник
Мое решение:
источник
где 0 - ваше первое значение раскрывающегося списка
источник