Yii2将选定值设置为下拉列表,这取决于另一个下拉列表

时间:2016-04-28 12:48:53

标签: yii2 dropdown

我有一个表单,其中有两个选择框,第二个选择框取决于第一个选择框。 所有表单数据都保存在会话中,因为有一个后退按钮,以便用户能够在提交后更改内容。 因此,当用户点击后退按钮时,我可以将会话值分配给第一个下拉菜单,但不能分配给第二个下拉菜单的第二个下拉菜单。

if(isset($session['form_1']['state_code']))

{$ state_code = $ session ['form_1'] ['form_1'];           $ this-> registerJs('$(“select#state_select”)。trigger(“change”);');} else {$ state_code =“”; }

     echo $form->field($model, 'state_code')->dropDownList($states, 
      [ 'prompt' => ' Select state...', 
        'options' => [$state_code => ['Selected'=>'selected']],
        'onchange' => '
        $.get("'.Yii::$app->urlManager->createUrl('city?id=').
       '"+$(this).val(),function( data )  { 
          $("select#city").html( data ); 
        });'


      ]);

此代码适用于第一个下拉列表

而下面的代码你可以看到另一个下拉不起作用:

 if(isset($session['form_2']['city_select'])) 
        { $c_id = $session['form_2']['city_select']; } 
        else{ $c_id = ''; }
      echo $form->field($model, 'city_select')->dropDownList(['0' => 'Please select state..'], 
       [

          'options' => [$c_id => ['Selected'=>'selected']],

       ]);

任何想法?

1 个答案:

答案 0 :(得分:0)

作为替代方案,您可以使用Kartik extension来解决您的问题。