2017-02-07 25 views
0

select2コンポーネントで情報を表示しようとしていますが、100%動作しません。Select2&Ajax - select2 + ajax +複数オプションを使用した値のロード

は、検索のいくつかの時間後、私はそれをしなかった:それで

<div class="row"> 
     <div class="col-md-12"> 
      {!! Form::label('lblRequisitos', 'Selecione os Requisitos') !!} 
      {!! Form::select('requisitos[]', $requisitosVaga, null, ['id'=>'requisito', 'class'=>'form-control js-states', 'multiple' => 'multiple']) !!} 
     </div> 
    </div> 

@push('scripts') 
<script> 
    $(function() 
    { 
     $('#requisito').select2(
     { 
      placeholder: "Escolha a habilidade...", 
      minimumInputLength: 2, 
      ajax: 
      { 
       url: '{{route('pesquisa-habilidade')}}', 
       dataType: 'json', 
       data: function (params) 
       { 
        return {q: $.trim(params.term)}; 
       }, 
       processResults: function (data) { 
        return { 
         results: data 
        }; 
       }, 
       cache: true 
      }, 
      initSelection : function (element, callback) { 
       var data = []; 
       $(element).find("option").each(function() { 
        data.push({id: $(this).val(), text: $(this).text()}); 
       }); 
       callback(data); 
      } 
     }); 
    }); 
</script> 
@endpush 

は、初期負荷はokです。しかし、次の値を検索しようとすると(編集しようとすると)、すべてのオプションが消去されます。

+0

コントローラ側の 'route( 'pesquisa-habilidade')'に何が起こっているかを示してください。 – phaberest

+0

@phaberest hello。サーバー側では、すべて100%動作しています。私はちょうど "選択された" itensを失っていた。私はちょうど "$(this).prop( 'selected'、true);"オプションにプリロードされ、今は大丈夫です。ケアのためのThnks。 –

答えて

0

おそらく、それは最善の解決策ではありませんが、私はそれを修正します。それは100%に働いて、今

//.... At select2 function ... 

initSelection : function (element, callback) { 
      var data = []; 
      $(element).find("option").each(function() { 
       data.push({id: $(this).val(), text: $(this).text()}); 

       // ADD this line to put the option selected 
       $(this).prop('selected', true); 
      }); 
      callback(data); 
     } 
// .... 

のみフォロー行を追加します。

誰かが優れたソリューションを持っていますか?

+0

ブラウザのコンソールには何が入っていますか? –

+0

Hello @ HasanAl-Natour。私はエラーmsgを持っていません。 select2に新しい項目を追加すると、オプションだけがきれいだった。今は大丈夫です。しかし、私は自分の解決策が「受け入れられる」とは考えていません。 –

+0

あなたの問題は私には分かりませんが、追加した行はすべてのオプションを一度に1つずつ選択しているので、良い方法ではありません。 –

関連する問題