在这里我想把我的问题解释清楚,
我有一个 ActiveForm
页面,对于 Claim Table
,它有字段 company_name
、employee_code
、 employee_name
,电子邮件
。
此页面有多个依赖下拉列表,这意味着如果我选择 company_name
,它会自动填充到属于该 company_name 的依赖 employee_code
,然后如果我选择 employee_code
它将自动填充相关的 employee_name
, email
, phone_no.
现在问题 employee_table 包含超过 35000
记录,所以当点击 create
按钮时,需要 5 分钟
来加载 ActiveForm 页面
。
帮我解决这个问题。
最佳答案
您不需要加载下拉列表中的所有记录。使用 ajax 获取所需的 employee_code
。
这是来自 creating a dependent dropdown 的示例教程。
echo $form->field($model, 'category_id')->dropDownList($dataCategory,
['prompt'=>'-Choose a Category-',
'onchange'=>'
$.post( "'.Yii::$app->urlManager->createUrl('post/lists?id=').'"+$(this).val(), function( data ) {
$( "select#title" ).html( data );
});
']);
您也可以使用 depdrop plugin看看效果如何 select2 plugin对于 yii2。
关于yii2 - 如何在 Yii2 框架中更快地加载 ActiveForm 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32561151/