2016-04-28 125 views
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']], 

     ]); 

任何想法?

回答

0

作爲替代方案,您可以使用Kartik extension來解決您的問題。

+0

我試過Kartik擴展,我無法解決同樣的問題! – AXheladini

+0

在這裏檢查http://stackoverflow.com/questions/33369613/yii2-kartik-depdrop-on-update-pre-selected-value。如在答覆而不是帖子中,嘗試從會話中獲得參數。 – StalkAlex

相關問題