Den*_*G B 7 php autocomplete yii2
在Yii2中,我希望我的输入字段之一在用户开始输入时自动完成.Below是我使用的代码Jui Autocomplete.
<?php
$items= ArrayHelper::map(Company::find()->all(), 'c_id', 'name');
echo AutoComplete::widget([
'model' => $model,
'attribute' => 'company',
'clientOptions' => [
'source' => $items,
],
]);?>
Run Code Online (Sandbox Code Playgroud)
这不起作用.当我打印我的阵列时,我喜欢
Array ( [1] => abc [2] => xyz [4] => pqr )
Run Code Online (Sandbox Code Playgroud)
当我手动设置时,我得到它的工作
$items=['abc','xyz','pqr'];
Run Code Online (Sandbox Code Playgroud)
原因可能是我c_id's没有订购?但我想获得c_id提交的价值!任何想法如何解决这个问题?
Den*_*G B 15
这可以通过隐藏的字段输入来解决.希望这对某人有帮助!
<?php
use yii\web\JsExpression;
$data = Company::find()
->select(['name as value', 'name as label','c_id as id'])
->asArray()
->all();
echo AutoComplete::widget([
'name' => 'Company',
'id' => 'ddd',
'clientOptions' => [
'source' => $data,
'autoFill'=>true,
'minLength'=>'4',
'select' => new JsExpression("function( event, ui ) {
$('#user-company').val(ui.item.id);
}")
],
]);
?>
<?= Html::activeHiddenInput($model, 'company')?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24806 次 |
| 最近记录: |