Php Depdrop和动态表单问题与更新
我对Kartik-v的Depdrop和Wbraganca的动态表单有点意见。问题是当我加载更新表单时,数据没有加载到第二个动态字段中。在添加新行之前,将显示数据 它没有给出任何错误。我只想让数据显示在第二行,以此类推 表单中的代码Php Depdrop和动态表单问题与更新,php,mysql,yii2,Php,Mysql,Yii2,我对Kartik-v的Depdrop和Wbraganca的动态表单有点意见。问题是当我加载更新表单时,数据没有加载到第二个动态字段中。在添加新行之前,将显示数据 它没有给出任何错误。我只想让数据显示在第二行,以此类推 表单中的代码 <?php $catList=ArrayHelper::map(Hs::find()->all(), 'hscode', 'hscode' );?> <?= $form->field($modelsItems, "[
<?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>
对于那些有同样问题的人,我通过更改id来解决。第一个id是cat id,但当您创建一个新的动态字段时,由于某种原因,id会更改为cat-0--id。我解决这个问题的方法是把id改成这个 'id'=>“cat-”$i.“--id”应该对其余的id执行此操作。我的产品id现在是'id'=>“product-”$i.“--id” 我希望这能帮助一些人。谢谢