12

Select2 の最新バージョン: Select2 4.0を使用しています。

ユーザーが自由にテキストを入力できるようにしたいと考えています。つまり、ユーザーがドロップダウン (ajax によって返されるデータ) でオプションを見つけることができない場合、入力したテキストを「選択」できるようにしたいと考えています。

これは私のマークアップです:

<select class="required form-control" id="businessName" data-placeholder="Choose An Name" > </select> 

これは、Select2 の初期化に使用している JavaScript です。

$("#businessName").select2({
    ajax: {
      url: "/register/namelookup",
      dataType: 'json',
      delay: 250,
      type: 'post',
      data: function (params) {
        return {
          businessName: params.term, // search term
          page: params.page
        };
      },
      processResults: function (data, page) {
        return {
          results: data.items
        };
      },
      cache: false
    },
    escapeMarkup: function (markup) { return markup; },
    minimumInputLength: 4,
    createSearchChoice:function(term, data) {
        if ( $(data).filter( function() {
          return this.text.localeCompare(term)===0;
        }).length===0) {
          return {id:term, text:term};
        }
    },
});

追加しましcreateSearchChoiceたが、うまくいきません。この回答も見ましたが、これまでのところ運がありません。

4

1 に答える 1