Я уже нашел решение для версии 3.5.x, но оно не работает для версии 4.x.
Что мне нужно:
- найти полученное значениепо ajax
- появляется список результатов
- нажмите на нужное мне значение
- если я щелкну внутри поля select2, список будет пуст.
- мне нужноперепечатывать, чтобы показать последние результаты .....
- Я хотел бы, чтобы, когда я щелкаю внутри поля select2, уже просматривал последний найденный список
Это ссылкаоригинальное сообщение: Select2 - Ajax search - запомните последние результаты
Код, предложенный для версии 3.5.x:
$(document).ready(function () {
$('#select').select2({
// this part is responsible for data caching
dataCache: [],
query: function (q) {
var obj = this,
key = q.term,
dataCache = obj.dataCache[key];
//checking is result in cache
if (dataCache) {
q.callback({results: dataCache.results});
} else {
$.ajax({
url: 'ajax.php',
data: {q: q.term},
dataType: 'json',
type: 'POST',
success: function (data) {
//copy data to 'cache'
obj.dataCache[key] = data;
q.callback({results: data.results});
}
})
}
},
placeholder: 'Search something',
width: '333',
minimumInputLength: 3,
});
// this part is responsible for setting last search when select2 is opening
var last_search = '';
$('#select').on('select2-open', function () {
if (last_search) {
$('.select2-search').find('input').val(last_search).trigger('paste');
}
});
$('#select').on('select2-loaded', function () {
last_search = $('.select2-search').find('input').val();
});
});
Понятия не имею, как обновитьВерсия 4.0: (