Autocomplete Yii2自动完成无响应

Autocomplete Yii2自动完成无响应,autocomplete,yii2,Autocomplete,Yii2,我试图将用户列表显示为邮件。这是我的代码,但没有响应 <?php $data = Users::find() ->select(['user_email as value', 'user_id as id']) ->asArray() ->all(); echo AutoComplete::widget([ 'name' => 'user_email', 'id' => 'ddd', 'clientOpt

我试图将用户列表显示为邮件。这是我的代码,但没有响应

<?php
 $data = Users::find()
    ->select(['user_email as value', 'user_id as id'])
    ->asArray()
    ->all();

  echo AutoComplete::widget([
    'name' => 'user_email',
    'id' => 'ddd',
    'clientOptions' => [
    'source' => $data,
    'autoFill'=>true,
    'minLength'=>'1',
    'select' => new JsExpression("function( event, ui ) {
        $('#user_mail_1').val(ui.item.id);

     }")],
     ]);
            ?>
<?= $form->field($model, 'user_email')->HiddenInput(['id' => 'user_mail_1'])->label(false) ?>

您需要使用
标签
来显示自动完成输入值的值

因此,获取
user\u电子邮件
as
label
就像:

<?php
 use yii\web\JsExpression;


 $data = Users::find()
         ->select(['user_email as value', 'user_id as id', 'user_email as label'])
         ->asArray()
        ->all();

 // OR try below query for get data.

 $data = (new \yii\db\Query())
        ->select(["user_email as value", "user_email as label","user_id as id"])
        ->from('users u')
        ->all();


  echo AutoComplete::widget([
    'name' => 'user_email',
    'id' => 'ddd',
    'clientOptions' => [
    'source' => $data,
    'autoFill'=>true,
    'minLength'=>'1',
    'select' => new JsExpression("function( event, ui ) {
        $('#".Html::getInputId($model, 'user_email')."').val(ui.item.id); // Html::gtInputId() get dynamic id of input field.

     }")],
     ]);
            ?>
<?= $form->field($model, 'user_email')->hiddenInput()->label(false) ?>

您需要使用
标签
来显示自动完成输入值的值

因此,获取
user\u电子邮件
as
label
就像:

<?php
 use yii\web\JsExpression;


 $data = Users::find()
         ->select(['user_email as value', 'user_id as id', 'user_email as label'])
         ->asArray()
        ->all();

 // OR try below query for get data.

 $data = (new \yii\db\Query())
        ->select(["user_email as value", "user_email as label","user_id as id"])
        ->from('users u')
        ->all();


  echo AutoComplete::widget([
    'name' => 'user_email',
    'id' => 'ddd',
    'clientOptions' => [
    'source' => $data,
    'autoFill'=>true,
    'minLength'=>'1',
    'select' => new JsExpression("function( event, ui ) {
        $('#".Html::getInputId($model, 'user_email')."').val(ui.item.id); // Html::gtInputId() get dynamic id of input field.

     }")],
     ]);
            ?>
<?= $form->field($model, 'user_email')->hiddenInput()->label(false) ?>


检查浏览器控制台是否有错误。检查浏览器控制台是否有错误。发生了什么。我已经编辑了我的ans。我已经添加了
Query
,用于从数据库获取数据。看看发生了什么。我已经编辑了我的ans。我已经添加了
Query
,用于从数据库获取数据。看看吧。