मेरे पास एक अलेक्स सरणी से पॉपुलेटेड 2 v4.0.0 है। यदि मैं select2 की वैल सेट करता हूं तो मैं जावास्क्रिप्ट डिबगिंग के माध्यम से देख सकता हूं कि उसने सही आइटम (मेरे मामले में # 3) का चयन किया है, हालांकि यह चयन बॉक्स में नहीं दिखाया गया है, यह अभी भी प्लेसहोल्डर दिखा रहा है।
जबकि मुझे कुछ इस तरह से देखना चाहिए:
मेरे फार्म फ़ील्ड में:
<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>
मेरी जावास्क्रिप्ट:
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);
मैं प्लेसहोल्डर के बजाय चयनित बॉक्स को चयनित आइटम कैसे बना सकता हूं? क्या मुझे यह AJAX JSON प्रतिक्रिया के भाग के रूप में भेजना चाहिए?
अतीत में, Select2 को initSelection नामक एक विकल्प की आवश्यकता थी जिसे परिभाषित किया गया था जब भी एक कस्टम डेटा स्रोत का उपयोग किया जा रहा था, घटक के लिए प्रारंभिक चयन के लिए निर्धारित किया गया था। यह मेरे लिए v3.5 में ठीक काम किया।
select
साथ बाँधने की कोशिश कर रहा हूँajax
, त्रुटि बढ़ जाती है, तो उस विकल्प को इसके चयन की अनुमति नहीं है ...