Yii2:Jui Auto Complete Widget怎么样?

时间:2015-02-07 18:34:59

标签: php jquery autocomplete yii2

我正在尝试使用yii2 Jui自动完成小部件。

我有正确显示自动完成日期的代码,但我无法保存数据。

$data=ArrayHelper::map(State::find()->all(), 'id', 'state_name' );
$data=array_merge($data);

然后

echo 'State' .'<br>';
  echo AutoComplete::widget([
    'model'=>$model,
    'attribute' => 'state_id',     
    'clientOptions' => [
        'source' => $data,        
    ],
]);

任何解决方案都将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:8)

好的,我找到了解决方案,就像这样:

use yii\jui\AutoComplete;
use yii\web\JsExpression;

然后:

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

然后

echo 'State' .'<br>';
  echo AutoComplete::widget([
    'name' => 'State',    
    'id' => 'ddd',
    'clientOptions' => [
        'source' => $data, 
        'autoFill'=>true,
         'select' => new JsExpression("function( event, ui ) {
        $('#city-state_name').val(ui.item.id);//#City-state_name is the id of hiddenInput.
     }")],
     ]);

最后:

<?= Html::activeHiddenInput($model, 'state_name')?>

就是这样。 希望有人会觉得它很有用。 感谢。