Blo*_*und 0 autocomplete yii yii2 yii2-advanced-app
我在我看来有一个自动完成字段,其代码如下
<?php
$data = Members::find()
->select(['first_name as value', 'first_name as label','id as id'])
->asArray()
->all();
echo 'Name' .'<br>';
echo AutoComplete::widget([
'name' => 'member_name',
'clientOptions' => [
'source' => $data,
'minLength'=>'3',
'autoFill'=>true,
'select' => new JsExpression("function( event, ui ) {
$('#receipt-member_id').val(ui.item.id);//#receipt-member_id is the id of hiddenInput.
}")],
]);
?>
Run Code Online (Sandbox Code Playgroud)
自动完成工作正常,它显示所有“成员”的名字。但是可能有很多名字相似的人,所以我想要的是连接 first_name 和 last_name。在正常的下拉菜单中,可以按如下方式完成
<?php
$models1 = Members::find()->all();
$data = array();
foreach ($models1 as $model1)
$data[$model1->id] = $model1->first_name . ' '. $model1->last_name;
echo $form->field($model, 'member_id')->dropDownList(
$data,
['prompt'=>'Select...']);
?>
Run Code Online (Sandbox Code Playgroud)
如何使用自动完成小部件执行此操作?
试试这个方法
$data = Members::find()
->select(['concat(first_name,last_name) as value', 'first_name as label','id as id'])
->asArray()
->all();
Run Code Online (Sandbox Code Playgroud)