В настоящее время у меня есть работающий виджет, который принимает несколько вариантов. Виджет находится внутри всплывающего окна с кнопкой «Сохранить» вместе с другими кнопками. Когда я нажимаю «Сохранить», всплывающее окно закрывается, выборки сохраняются в базе данных, автоматически выполняется запрос из базы данных и отображаются результаты в DataView.
Теперь, когда я снова открываю всплывающее окно, текстовое поле в виджете Select2 пусто. Я хотел бы, чтобы он извлекал данные из базы данных и отображал их в виджете при его открытии. Я настроил его так, чтобы он возвращал массив строк, который должен быть идентификатором (это все, что мне нужно, чтобы виджет извлек правильные данные).
Итак, мой вопрос: как мне изменить виджет, чтобы он мог принимать массив и отображать их как уже выбранные параметры при создании виджета?
На самом деле я не слишком уверен, что в этом случае будет показывать мой код, но на всякий случай вот они:
$("#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;
}
});
I would like for it to fetch the data that's in the database and display them in the widget when it opens
вы хотите сделать это со второго открытия всплывающего окна?? что, если при первом открытии всплывающего окна ничего не было сделано? И какие данные вы хотите показать во всплывающем окне во второй раз, что отличается от первого раза? - person Rajshekar Reddy   schedule 07.03.2016