2016-11-29 27 views
1

をこれは私のhtmlコード選択2複数選択デフォルトの選択

<select name="age_group[]" class="form-control age_group" multiple="multiple"> 
    @foreach($age_groups as $group) 
     <option value="{{ $group->id }}">{{ $group->age_group_name }}</option> 
    @endforeach 
</select> 

されるワーキングそして、これはJS

var selected = [1, 2, 3]; 
// initialize select2 for age group 
$(".age_group").select2(); 
$(".age_group").select2('val', selected); 

ありませんどのような選択としてthisポストによって示唆されているように私は、デフォルト値を設定してやりたいです。しかし、上記の私のコードでは、配列の最初の要素だけを選択しています。

私のコードで何が問題なのか誰にでも教えてください。

Jsfiddle demo

+0

あなたはフィドル – Santhucool

+0

を作成することができますhttp://stackoverflow.com/a/33912045/6746555この – Mahi

答えて

2

それが動作します。このようにしてみてください。

$(".age_group").val(selectedvalue).trigger("change");

サンプルフィドル:http://jsfiddle.net/fyhsz9ra/891/

+0

ありがとう、これは働いた。 –

0

あなたが選択する必要が値を指定する必要があります。

$('select').select2().select2('val', $('.select2 option:eq(1)').val()); 

OR

Split the values before Passing to the Select2(); 
var values = //split the string ; 
$(".age_group").select2('val',values); 

これはあなたのお役に立てば幸いです。

+0

を試してみてください、私はあなたの最初のオプションを試していませんでしたが、他の回答はうまくいきましたが、2番目のオプションは私が行っていたのと同じです。私の場合の 'values'はすでに配列です。 –