我有一个表单,其中有两个选择框,第二个选择框取决于第一个选择框。 所有表单数据都保存在会话中,因为有一个后退按钮,以便用户能够在提交后更改内容。 因此,当用户点击后退按钮时,我可以将会话值分配给第一个下拉菜单,但不能分配给第二个下拉菜单的第二个下拉菜单。
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']],
]);
任何想法?