我想清楚地解释一下我的问题,
我有一个ActiveForm
页面Claim Table
,它包含字段company_name
,employee_code
,employee_name
,email
。
这个页面有几个依赖的dropDown,这意味着如果我选择company_name
,它会自动填充到依赖employee_code
属于该company_name,然后如果我选择employee_code
它会自动填充依赖employee_name
,email
,phone_no.
现在问题employee_table包含的记录多于35000
,因此在点击create
按钮时,5 mins
会加载ActiveForm page
。
帮我解决这个问题。
答案 0 :(得分:0)
您不需要在下拉列表中加载所有记录。使用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查看yii2的工作原理select2 plugin。