4

ajaxを使用してselect2で事前定義された選択オプションを設定しようとしています が、ajaxを使用してselect2をクリックすると、以前にあったhtmlオプションが削除されます。オプションをそのままにしておくにはどうすればよいですか無関係な文字を入力するまでそれらを削除しないでください。

明確ではないと思うので、理解を深めるために両方のケースをいじりました

HTML

<select id="e1" style="width:300px">
        <option value="AL">Alabama</option>
        <option value="Am">Amalapuram</option>
        <option value="An">Anakapalli</option>
        <option value="Ak">Akkayapalem</option>
        <option value="WY">Wyoming</option>
    </select>


<select id="e2" style="width:300px">
        <option value="AL">Alabama</option>
        <option value="Am">Amalapuram</option>
        <option value="An">Anakapalli</option>
        <option value="Ak">Akkayapalem</option>
        <option value="WY">Wyoming</option>
    </select>

js

$("#e1").select2({ajax: {
    url: "https://api.github.com/search/repositories",
    dataType: 'json',
    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
      };
    },
    cache: true
  }});

$("#e2").select2();

select2 ajax と none ajax のフィドルの例

4

1 に答える 1