嘿開發人員我建立一個應用程序窗體,用戶在不同的領域輸入數據。該應用程序的一部分是來自https://github.com/wbraganca/yii2-dynamicform的動態表單。現在在動態表單中,我有一個依賴下拉菜單,但是當我單擊[+]時,依賴下拉菜單更改第一行上的數據,而不是第二行。動態窗體與依賴下拉
這裏是我的代碼。
在我的控制器
public function actionLists($name)
{
$countHs= Hs::find()
->where(['hscode'=> $name])
->count();
$Hs = Hs::find()
->where(['hscode'=> $name])
->all();
if($countHs > 0)
{
foreach ($Hs as $H)
{
echo "<option value='".$H->hsproduct."'> ".$H->hsproduct."</option>";
}
}else{
echo "<option> - </option>";
}
}
和我的形式
<div class="col-sm-6" style="width: 135px">
<?= $form->field($modelsItems, "[{$i}]hscode")->dropDownList(
ArrayHelper::map(Hs::find()->all(),'hscode','hsproduct'),
[
'prompt'=>'',
'onchange'=>
'$.get("'.Url::toRoute('/hs/lists').'", { name: $(this).val() })
.done(function(data) { $("#'.Html::getInputId($modelsItems, "[{$i}]hsproduct").'").html(data); });'
])->label('HS.Code');
?>
</div>
<div class="col-sm-6" style="width: 135px">
<?= $form->field($modelsItems, "[{$i}]hsproduct")->dropDownList(
ArrayHelper::map(Hs::find()->all(),'hsproduct','hsproduct'),
[
'prompt'=>'',
])->label('HS.Product');
?>
</div>
林更新了你的情況下,我的英語
也許你可以顯示它的樣子的截圖?也許這會更容易理解。不知道我是否可以回答這個問題。 –
這是屏幕截圖的鏈接。 http://imgur.com/a/nCISa – user5469526
第一行如何工作?用你的JavaScript?實際上,我可以編寫一個JavaScript函數/事件來幫助您獲取特定字段的值。 –