Paw*_*wan 9 php jquery autocomplete yii2
我正在尝试使用yii2 Jui自动完成小部件.
我有这个代码正确显示自动完成日期,但我无法保存数据.
$data=ArrayHelper::map(State::find()->all(), 'id', 'state_name' );
$data=array_merge($data);
Run Code Online (Sandbox Code Playgroud)
然后
echo 'State' .'<br>';
echo AutoComplete::widget([
'model'=>$model,
'attribute' => 'state_id',
'clientOptions' => [
'source' => $data,
],
]);
Run Code Online (Sandbox Code Playgroud)
任何解决方案将不胜感激.谢谢.
好的,我找到了解决方案,它是这样的:
use yii\jui\AutoComplete;
use yii\web\JsExpression;
Run Code Online (Sandbox Code Playgroud)
然后:
$data = State::find()
->select(['state_name as value', 'state_name as label','id as id'])
->asArray()
->all();
Run Code Online (Sandbox Code Playgroud)
然后
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.
}")],
]);
Run Code Online (Sandbox Code Playgroud)
最后:
<?= Html::activeHiddenInput($model, 'state_name')?>
Run Code Online (Sandbox Code Playgroud)
就这些.希望有人会觉得它很有用.谢谢.
| 归档时间: |
|
| 查看次数: |
8621 次 |
| 最近记录: |