2016-10-04 14 views
0

WbragancaのKartik-vとDynamic FormのDepdropに関する問題が少しあります。問題は、更新フォームを読み込んだときに、データが2番目の動的フィールドに読み込まれないということです。私は新しい行を追加するまで、データが表示されます。Depdropと動的フォーム更新の問題

Image on the problem

これは誤りです。私が望むのは、データが2番目の行に表示されるということです。私はIDを変更することで、それを解決するため、この同じ問題を抱えている人のために

<?php $catList=ArrayHelper::map(Hs::find()->all(), 'hscode', 'hscode');?> 
      <?= $form->field($modelsItems, "[{$i}]hscode")->dropDownList($catList, ['id'=>'cat-id','prompt'=>'Select...']);?> 
     </div>          

     <div class="col-sm-6" style="width: 200px"> 

      <?= $form->field($modelsItems, "[{$i}]hsproduct")->widget(Depdrop::classname(), [ 

       'options'=>['id'=>'product-id'],    
       'pluginOptions'=>[ 
       'placeholder' => FALSE, 
       'initialize' => true, 
       'depends'=>['cat-id'], // the id for cat attribute    
       'url'=> Url::to(['hs/subcat']),     
       ] 

       ]); 
        ?> 
     </div>   

     <div class="col-sm-6" style="width: 170px"> 

      <?php $companylist=ArrayHelper::map(Company::find()->all(), 'company', 'company');?> 
      <?= $form->field($modelsItems, "[{$i}]company")->dropDownList($companylist, ['id'=>'company-id','prompt'=>'Select...']);?> 
     </div> 

     <div class="col-sm-6" style="width: 170px"> 
      <?= $form->field($modelsItems, "[{$i}]variety")->widget(DepDrop::classname(), [ 

       'options'=>['id'=>'cp-varitey'], 
       'pluginOptions'=>[ 
       'placeholder' => FALSE, 
       'initialize' => true, 
       'depends'=>['company-id'], // the id for cat attribute    
       'url'=> Url::to(['company/subcat2']) 
       ] 

       ])->label('Variety'); 

        ?>  
     </div> 
+0

誰かが解決策を知っていますか? – user5469526

答えて

1

形で

コード。最初のIDはcat-idでしたが、新しい動的フィールドを作成すると、何らかの理由でidがcat-0-idに変更されました。私がそれを解決する方法は、idをこれに変更することでした。 'id' => "cat - "。$ i。 " - id"残りのidに対してこれを行う必要があります。私の製品IDは今 'id' => "product - "。$ i。 " - id"です。

私はこれが何かを助けてくれることを願っています。ありがとう