Hvordan angir jeg plassholderen når verdien tilbakestilles av select2. I eksempelet mitt, hvis det klikkes på valgbokser for steder eller karakterer og select2 har en verdi, skal verdien til select2 tilbakestilles og vise standard plassholder. Dette skriptet tilbakestiller verdien, men viser ikke plassholderen.
$("#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;
}
});
Du må definere select2 som
$("#customers_select").select2({
placeholder: "Select a customer",
initSelection: function(element, callback) {
}
});
Slik tilbakestiller du select2
$("#customers_select").select2("val", "");
Select2 har endret API-et sitt:
Select2: Metoden select2("val")
har blitt utdatert.
og vil bli fjernet i senere Select2-versjoner. Bruk $element.val() i stedet.
Den beste måten å gjøre dette på nå er:
$('#your_select_input').val('');
Redigert: desember 2016 Kommentarer tyder på at nedenstående er den oppdaterte måten å gjøre dette på:
$('#your_select_input').val([]);
Select2 bruker en spesifikk CSS-klasse, så det er enkelt å tilbakestille den:
$('.select2-container').select2('val', '');
Og du har fordelen av at hvis du har flere Select2 i samme skjema, blir alle tilbakestilt med denne ene kommandoen.