Select2 - Ajax search - запомнить последние результаты

Я использую Select2 3.5.1. С помощью этого плагина я могу успешно загрузить удаленные данные. Однако я здесь сегодня, чтобы задать вопрос, чтобы улучшить этот поиск. Вот шаг за шагом, чтобы понять, что я хотел бы сделать:

Настройте Select2 с удаленной загрузкой данных (используя ajax).Нажмите на вход Select2 и найдите что-нибудь.Появится загрузка и через несколько секунд вы увидите список результатов.Нажмите на один из результатов в списке - поле результатов исчезнет.Если вы снова нажмете на поле поиска, список будет пуст, и вам нужно будет снова ввести новый текст, чтобы получить список результатов.

Возможно ли, что когда мы снова нажмем на поле поиска, список результатов, которые ранее искали, снова появится без какого-либо вызова ajax? Затем, если пользователь удалит символ или изменит свои критерии поиска, он снова начнет поиск ajax.

Если это возможно, как бы мы это закодировали?

Я надеюсь, что мой вопрос ясен, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы. Спасибо.

Вот очень простой код, где мы выполняем поиск, который возвращает список результатов. Он не выполняет поиск, но возвращает текст, когда вы что-то печатаете. Я не уверен, как использовать initSelection, который упоминается в одном из ответов.

<html>
<head>
    <title>
        Test page for ajax cache
    </title>
    <script type='text/javascript' src='../../resources/javascript/jquery/jquery-1.9.1.min.js'></script>
    <link type='text/css' href='../../resources/javascript/select2/select2.css' rel='stylesheet' />
    <script type='text/javascript' src='../../resources/javascript/select2/select2.js'></script>

    <script>
    $(document).ready(function(){
        $('#select').select2({
            ajax: {
                type: 'POST',
                url: 'ajax.php',
                dataType: 'json',
                data: function(term, page){
                    return {
                        autoc: 'country',
                        term: term
                    }
                },
                results: function(data, page){
                    console.log(data);

                    return( {results: data.results} );
                }
            },
            placeholder: 'Search something',
            minimumInputLength: 3,
            width: '333'
        });
    });
    </script>
</head>

<body>
    <input type='text' name='inputdata' id='select' />
</body>
</html>

Очень простой ajax.php называется:

<?php
$results2['more'] = false;
$results2['results'][0] = array('id'=> "1", 'text'=> "California");
$results2['results'][1] = array('id'=> "2", 'text'=> "Canada");
$results2['results'][2] = array('id'=> "2", 'text'=> "Someword");
$results2['results'][3] = array('id'=> "2", 'text'=> "Alberta");
$results2['results'][4] = array('id'=> "2", 'text'=> "New York");

echo json_encode($results2);

Ответы на вопрос(1)

Ваш ответ на вопрос