这是我的select2多选框的脚本。我正在使用ajax来获取数据。我需要使用现有值添加当前选择。
例如:如果1000,1001已经在列表中。如果用户键入1002,它应该与旧结果合并并显示为1000,1001,1002。
以下是我如何将值放在select2
中在php中构建选项
foreach ($zips as $zipcodes) {
$pinLists .= $zipcodes->zipcode_id . ',';
$htmlElements .= '<li class="select2-selection__choice" title=""><span class="select2-selection__choice__remove" role="presentation">×</span>' . $zipcode->zipcode_id . '</li>';
}
然后在html中我追加
var htmlElement = '<?php echo $htmlElement ?>';
$(".firstSelect").append(htmlElement);
我试过
$(".firstSelect").on('change', function(e) {
$(".firstSelect").append(htmlElement);
});
但我无法将旧值放在更改操作上。
这是我的整个select2 ajax脚本
$("#firstList").select2({
ajax: {
url: "../getZipList",
type: "POST",
contentType: "application/json; charset=utf-8",
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: 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 the remote JSON data
return {
results: data.items
};
//console.log(data.it)
},
cache: true
},
escapeMarkup: function (markup) {
return markup;
}, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});
我该怎么办?帮助请