我正在为我的项目使用Jquery Select2。我想在加载页面时在单个输入字段中保留默认值。我在启动select2组件时设置了initSelection
,尝试了这个。
$(document).ready(function() {
allowClear: true,
ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
dataType: 'json',
url: "public/data.php",
data: function (term, page) {
return {
q: term, // search term
component: "map",
all_selected: $("#map-all").hasClass("active"),
parent_value: $("#city").val(),
child_value: ""
};
},
results: function (data, page) { // parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to alter remote JSON data
return {results: data};
}
},
initSelection: function(element, callback) {
return $.getJSON("public/data.php?q="+element.val()+"&component=map&all_selected=false&parent_value=&child_value=", null, function(data) {
if ($.isFunction(callback)) {
return callback(data);
}
});
},
formatSelection: format,
formatResult: format,
});
然而,这不应该是应该的。
但是,当我将multiple: true,
作为select2选项时,这非常有效。我如何为单个隐藏字段执行此操作?
谢谢&此致!
答案 0 :(得分:1)
好的,我通过将回调从return callback(data);
更改为return callback(data[0]);
来解决了这个问题。我认为这背后的原因是因为该字段不是多字段,它只接受回调函数的单个对象。