2016-11-04 178 views
0
echo $form->field($model, 'user_id[]', [ 
      ])->widget(Select2::classname(), [ 
      'data' => $user_data, 
      'pluginOptions' => [ 
       'allowClear' => true, 
       'placeholder' => 'Select user...', 
       'multiple' => true, 
      ], 
     ])->dropDownList($user_data,  [ 
      'multiple'=>'multiple', 
      'class'=>'chosen-select input-md required', 
     ] )->label(Yii::t('app','User').' : '); 

通過使用上面的代碼中,我能夠從數據庫和顯示數據加載到用戶的用戶,在那裏他們可以輸入和選擇的用戶的名單上。假設我想設置2個默認選定值,例如user_id = 1和2,我如何在select 2中這樣做?如何設置默認選擇用於選擇2選擇題

回答

1

您需要將值數組傳遞給您的select2控件,然後進行刷新。例如,要在頁面加載時選擇user_id 1和2,您需要執行以下操作。

var user_ids = [1,2]; 
$('#YourSelect2Control').val(user_ids); 
$('#YourSelect2Control').select2(); 
2

你可以做到這一點通過設置widgets\Select2;Value選擇像

echo $form->field($model, 'user_id[]', [ 
      ])->widget(Select2::classname(), [ 
      'data' => $user_data, 
      'value' => [1, 2], // Initial values, can also check with these value as string["1","2"], 
      . 
      . 

這裏是文檔Link

希望這會爲你工作。

0

每文檔從http://demos.krajee.com/widget-details/select2

// Tagging support Multiple 
echo '<label class="control-label">Tag Multiple</label>'; 
echo Select2::widget([ 
    'name' => 'color_1', 
    'value' => ['red', 'green'], // initial value 
    'data' => $data, 
    'options' => ['placeholder' => 'Select a color ...', 'multiple' => true], 
    'pluginOptions' => [ 
     'tags' => true, 
     'maximumInputLength' => 10 
    ], 
]); 

注意「價值」的關鍵是如何有值的數組。這將設置多個默認的「選擇」選項。但是,文檔不顯示此功能,但不使用「標籤」選項。