Yii2 Active Form открыть выпадающий список, если оцениваются два поля - PullRequest
0 голосов
/ 02 мая 2020

Я хотел бы передать два значения (id_richiedente && id_tabella) в контроллер и открыть третий выпадающий список (tasso). Это моя часть кода, которая не работает. Спасибо всем, кто даст мне какие-либо решения.

- Просмотр -

<div class='col-lg-7'>
   <?= $form->field($model, 'id_richiedente',['showLabels'=>false])->widget(Select2::classname(), [
             'pluginLoading'=>false,
             'disabled' => $disabled,
             'options' => [
                            'placeholder' => 'Seleziona richiedente ...',
                          ],
             'data' => ArrayHelper::map(PreventivoRichiedente::Find()->where(['attivo' => [2]])->all(),'id',function($model){
                                return $model->descrizione;
                            }),
             ]);
  ?>
</div>
<div class='col-lg-7'>
  <?=
     $form->field($model, 'id_tabella',['showLabels'=>false])->widget(Select2::classname(), [
            'pluginLoading'=>false,
            'options' => [
                            'placeholder' => 'Seleziona tabella ...',
                            'onchange' => '$.pjax.reload({
                                                            url: "index.php?r=preventivo/calcola-new&id_tabella="+$(this).val()+"&id_richiedente="+$(preventivo-id_richiedente).val(),
                                                            replace: false,
                                                            container: "#tassiAjax",
                                                            timeout: false
                                                            });',
                          ],
            'data' => ArrayHelper::map(PreventivoTabelle::Find()->where(['attivo' => [3]])->all(),'id',function($model){
                              return $model->descrizione;
                            }),
            ]);
 ?>     
</div>
<?php Pjax::begin([
                    'timeout' => false,
                    'id' => 'tassiAjax',
                  ]); 
?>
<div class='col-lg-6'>
   <?= $form->field($model, 'sconto',['showLabels'=>false])->widget(Select2::classname(), [
             'pluginLoading'=>false,
             'disabled' => $disabled,
             'options' => ['placeholder' => 'Seleziona tasso ...',],
             'data' => $tasso,
        ]);
   ?>
</div>
<?php Pjax::end(); ?>

И это контроллер

public function actionCalcolaNew($id_tabella = null, $id_richiedente = null)
{
   if(null !== $id_tabella && null !== $id_richiedente){ 
            $tl = PrevNew::Find()->Where(['id_richiedente' => $id_richiedente])->andWhere(['id_tabella' => $tabella])->one()->tan;  
   }
  return $this->render('update_new', [
                'model' => $model,
                'tl' => $tl,
}
...