Ich habe eine select2 v4.0.0 aus einem Ajax-Array gefüllt. Wenn ich das val des select2 setze, kann ich via Javascript debuggen, dass es das korrekte Einzelteil vorgewählt hat (# 3 in meinem Fall), jedoch wird dieses nicht im auserwählten Kasten gezeigt, es zeigt noch den Platzhalter an. Select2 4.0.0 Initialwert mit Ajax
Während ich soll in etwa so sehen werden:
In meinen Formularfeldern:
<input name="creditor_id" type="hidden" value="3">
<div class="form-group minimal form-gap-after">
<span class="col-xs-3 control-label minimal">
<label for="Creditor:">Creditor:</label>
</span>
<div class="col-xs-9">
<div class="input-group col-xs-8 pull-left select2-bootstrap-prepend">
<select class="creditor_select2 input-xlarge form-control minimal select2 col-xs-8">
<option></option>
</select>
</div>
</div>
</div>
Mein javascript:
var initial_creditor_id = "3";
$(".creditor_select2").select2({
ajax: {
url: "/admin/api/transactions/creditorlist",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term,
c_id: initial_creditor_id,
page: params.page
};
},
processResults: function (data, page) {
return {
results: data
};
},
cache: true
},
placeholder: "Search for a Creditor",
width: "element",
theme: "bootstrap",
allowClear: true
}).on("select2:select", function (e) {
var selected = e.params.data;
if (typeof selected !== "undefined") {
$("[name='creditor_id']").val(selected.creditor_id);
$("#allocationsDiv").hide();
$("[name='amount_cash']").val("");
$("[name='amount_cheque']").val("");
$("[name='amount_direct']").val("");
$("[name='amount_creditcard']").val("");
}
}).on("select2:unselecting", function (e) {
$("form").each(function() {
this.reset()
});
("#allocationsDiv").hide();
$("[name='creditor_id']").val("");
}).val(initial_creditor_id);
Wie kann ich die Auswahlbox machen Zeigen Sie das ausgewählte Element anstelle des Platzhalters? Soll ich das vielleicht als Teil der AJAX JSON Antwort senden?
In der Vergangenheit benötigte Select2 eine Option namens initSelection, die immer dann definiert wurde, wenn eine benutzerdefinierte Datenquelle verwendet wurde, sodass die anfängliche Auswahl für die zu bestimmende Komponente möglich war. Das funktionierte für mich in Version 3.5.
Wie seine möglich? Wenn ich verbinde 'select' mit' ajax' versuche, steigt der Fehler, diese Option ajax ist nicht erlaubt mit select ... – Daggeto
Hallo, bitte schaut euch http://stackoverflow.com/questions/42833778/ember- select-2-issue-while-using-type-ahead-with-ajax-Abfragen – vivek