Wie setze ich den Platzhalter beim Zurücksetzen des Wertes durch select2. In meinem Beispiel, wenn Orte oder Grad Auswahlfelder angeklickt werden und meine select2 hat einen Wert als der Wert der select2 sollte zurückgesetzt und zeigen die Standard-Platzhalter. Dieses Skript setzt den Wert zurück, zeigt aber nicht den Platzhalter an.
$("#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;
}
});
Sie müssen den select2 wie folgt definieren
$("#customers_select").select2({
placeholder: "Select a customer",
initSelection: function(element, callback) {
}
});
Zum Zurücksetzen des select2
$("#customers_select").select2("val", "");
Select2 hat seine API geändert:
Select2: Die Methode
select2("val")
ist veraltet und wird in späteren Select2-Versionen entfernt werden. Verwenden Sie stattdessen $element.val().
Der beste Weg, dies zu tun, ist jetzt:
$('#your_select_input').val('');
Bearbeitung: Dezember 2016 Die Kommentare deuten darauf hin, dass die unten stehende Methode die aktualisierte ist, um dies zu tun:
$('#your_select_input').val([]);
Select2 verwendet eine bestimmte CSS-Klasse, so dass eine einfache Möglichkeit zum Zurücksetzen ist:
$('.select2-container').select2('val', '');
Und Sie haben den Vorteil, dass, wenn Sie mehrere Select2 im selben Formular haben, alle mit diesem einzigen Befehl zurückgesetzt werden.