2015-11-05 53 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_emaillabel像爲:錯誤

<?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