2015-11-05 2 views
1

пытается отобразить список пользователей, как mail.Here это мой код, но нет ответаYii2 автозаполнение нет ответа

<?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) ?> 
+0

проверки браузера консоль на наличие ошибок. –

ответ

0

Вы должны использовать label для отображения значения автозаполнения входного значения.

Таким образом, получить user_email в 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) ?> 
+0

Уже используется этот метод, но не используется – Pila

+0

, что происходит. можете ли вы опубликовать промежуток этого.? – GAMITG

+0

Я отредактировал мои ан. и я добавил 'Query' для получения данных из БД. поэтому проверьте это. – GAMITG

Смежные вопросы