Saya memiliki select2 v4.0.0 yang diisi dari array Ajax. Jika saya menetapkan val dari select2, saya dapat melihat melalui debugging javascript bahwa ia telah memilih item yang benar (# 3 dalam kasus saya), namun ini tidak ditampilkan di kotak pilih, itu masih menampilkan placeholder.
Padahal saya seharusnya melihat sesuatu seperti ini:
Di bidang formulir saya:
<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>
JavaScript saya:
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);
Bagaimana cara membuat kotak pilih memperlihatkan item yang dipilih daripada tempat penampung? Haruskah saya mengirimkan ini sebagai bagian dari tanggapan AJAX JSON?
Di masa lalu, Select2 memerlukan opsi yang disebut initSelection yang ditentukan setiap kali sumber data khusus digunakan, memungkinkan pemilihan awal untuk komponen yang akan ditentukan. Ini bekerja dengan baik untuk saya di v3.5.
select
denganajax
itu naik kesalahan, opsi itu ajax tidak diizinkan dengan pilih ...