在使用 ajax 加载下拉值后,Yii2 kartik 相关下拉列表未使用 ajax 更改所选值
Yii2 kartik dependent dropdown not changed the selected value with ajax after loading dropdown values with ajax
想要更改从属下拉列表的选定值。在从属下拉列表中使用 ajax 加载下拉值后,以下代码不起作用
$("#dependentDropDownID").select2("val", data);
以上代码在第一次加载依赖下拉菜单时工作正常。
Kartik 准备了名为 DepDrop 的插件,它将为您完成所有工作。
echo $form->field($model, 'subcat')->widget(DepDrop::classname(), [
'options'=>['id'=>'subcat-id'],
'pluginOptions'=>[
'depends'=>['cat-id'], // id of first input
'placeholder'=>'Select...',
'url'=>Url::to(['/site/subcat']) //url to fetch data
]
]);
当我们使用 kartik select2 下拉菜单时,下拉菜单的实际 ID 处于隐藏状态,因此要更改隐藏下拉菜单的值,我们必须对该 ID 使用 "change" 事件。使用以下代码更改下拉列表的选定值。
$("#dependentDropDownID").val(data).change();
想要更改从属下拉列表的选定值。在从属下拉列表中使用 ajax 加载下拉值后,以下代码不起作用
$("#dependentDropDownID").select2("val", data);
以上代码在第一次加载依赖下拉菜单时工作正常。
Kartik 准备了名为 DepDrop 的插件,它将为您完成所有工作。
echo $form->field($model, 'subcat')->widget(DepDrop::classname(), [
'options'=>['id'=>'subcat-id'],
'pluginOptions'=>[
'depends'=>['cat-id'], // id of first input
'placeholder'=>'Select...',
'url'=>Url::to(['/site/subcat']) //url to fetch data
]
]);
当我们使用 kartik select2 下拉菜单时,下拉菜单的实际 ID 处于隐藏状态,因此要更改隐藏下拉菜单的值,我们必须对该 ID 使用 "change" 事件。使用以下代码更改下拉列表的选定值。
$("#dependentDropDownID").val(data).change();