1
我有一個表格,其中有兩個選擇框,第二個選擇框取決於第一個選擇框。 所有表單數據都保存在會話中,因爲有一個後退按鈕,用戶可以在首次提交後改變事物。 因此,當用戶點擊後退按鈕時,我可以將會話值分配給第一個下拉菜單,但不能分配到第一個下拉菜單,而第二個依賴於第一個下拉菜單。Yii2將所選值設置爲取決於另一個下拉列表的下拉列表
if(isset($session['form_1']['state_code']))
{$ state_code = $ session ['form_1'] ['form_1']; ($「」select#state_select「)。trigger(」change「);');} else {$ state_code =」「;} $ this-> registerJs('$(」select#state_select「 }
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']],
]);
任何想法?
我試過Kartik擴展,我無法解決同樣的問題! – AXheladini
在這裏檢查http://stackoverflow.com/questions/33369613/yii2-kartik-depdrop-on-update-pre-selected-value。如在答覆而不是帖子中,嘗試從會話中獲得參數。 – StalkAlex