我目前有一个功能强大的小部件,它接受多个选项。该小部件位于带有“保存”按钮和其他按钮的弹出窗口内。当我单击“保存”时,弹出窗口关闭,将选择保存到数据库中,自动运行数据库中的查询,并在 DataView 中显示结果。
现在,当我再次打开弹出窗口时,Select2 小部件中的文本字段为空。我希望它获取数据库中的数据并在打开时将它们显示在小部件中。我已经对其进行了设置,以便它返回一个应该是 ID 的字符串数组(这就是小部件检索正确数据所需的全部内容)。
所以我的问题是:如何修改小部件,以便它可以接收一个数组并在创建小部件时将它们显示为已选择的选项?
我实际上不太确定在这种情况下显示我的代码会做什么,但以防万一,它们是:
$("#select2").select2({
placeholder: "Select materials...",
closeOnSelect: false,
ajax: {
url: this.targetUrl,
delay: 200,
dataType: 'json',
data: function(params) {
return {
code: params.term ? params.term + "*" : "*",
page: params.page || 1
};
},
processResults: function(data, params) {
params.page = params.page || 1;
var results = [];
for (var i = 0; i < (data.length >= 25 ? 25 : data.length); i++) {
results.push({
id: data[i].code,
text: data[i].code
});
}
return {
itemCode: results,
results: results,
pagination: false
};
},
cache: true
},
maximumSelectionLength: 5,
escapeMarkup: function(markup) {
return markup;
}
});