Доброго времени суток всем!
На странице создается 3 DepDrop с типом DepDrop::TYPE_SELECT2 и они мультиселектные. Второй и третий зависят от первого. Когда на странице выбираешь что то из первого DepDrop'а то в два другие подгружается нужный список для выбора, а когда забиваешь при помощи JS типа $("#mark").select2('val',[2,1]) (где mark это id первого DepDrop) то списки не подгружаются. Подскажите пожалуйста какие события надо повторить для подгрузки списков?
Код первого и второго DepDrop:
$form->field($modelForm, 'market',['showLabels' => false])->widget(Select2::classname(), [
'data' => $modelForm->selectMarket,
'theme' => Select2::THEME_BOOTSTRAP,
'options' => [
'placeholder' => 'Select Market...',
'id' => 'market',
'multiple' => true,
],
'pluginOptions' => [
'width' => '280px',
'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
'templateResult' => new JsExpression('formatMarket'),
'templateSelection' => new JsExpression('formatMarket'),
]
]);
$form->field($modelForm, 'marketAccount',['showLabels' => false])->widget(DepDrop::classname(), [
'type' => DepDrop::TYPE_SELECT2,
'data' => is_array($modelForm->marketAccount)? [] :[$modelForm->marketAccount=>''],
'options' =>['id'=>'marketAccount','multiple' => true],
'select2Options' => [
'pluginOptions' => ['width' => '230px'],
'theme' => Select2::THEME_BOOTSTRAP,
],
'pluginOptions' => [
'initialize' => true,
'initDepends' => ['market','proxyRegion'],
'allowClear' => true,
'placeholder' => 'All',
'depends' => ['market','proxyRegion'],
'url' => Url::to(['application/app-acc-subcat']),
'loadingText' => 'All',
'params'=>['marketAccountIdHidden']
],
'pluginEvents'=>[
"depdrop.change"=>"function() { $('#marketAccount').select2('val',".json_encode($modelForm->marketAccount)."); }",
"select2:selecting"=>"function() {
var marketAccount = $('#marketAccount');
var array = marketAccount.select2('val');
if(array == null ||typeof array === 'string'){
return;
}
var position = array.indexOf('');
if(position !== -1){
array.splice(position, 1);
marketAccount.select2('val',array);
}
}",
]
]
);