【问题标题】:Yii2: Jui Auto Complete Widget how to?Yii2:Jui Auto Complete Widget如何?
【发布时间】:2015-04-07 18:44:28
【问题描述】:

我正在尝试使用 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,        
    ],
]);

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

【问题讨论】:

    标签: php jquery autocomplete yii2


    【解决方案1】:

    好的,我找到了解决方案,它是这样的:

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

    就是这样。 希望有人会发现它有用。 谢谢。

    【讨论】:

    • 您好,有没有办法在自动完成字段上实现基于模型的验证?谢谢
    猜你喜欢
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多