在 Yii2 中使用自动完成更新隐藏字段 [英] Update hidden field using Autocomplete in Yii2
本文介绍了在 Yii2 中使用自动完成更新隐藏字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发一个自动完成小部件.到目前为止,这是我的代码.
I am working on an autocomplete widget. So far this is my code.
我的观点:
<?php
$data = Company::find()
->select(['name as value', 'name as label','c_id as id'])
->asArray()
->all();
echo AutoComplete::widget([
'name' => 'Company',
'id' => 'ddd',
'clientOptions' => [
'source' => $data,
'autoFill'=>true,
'minLength'=>'4',
'select' => new JsExpression("function( event, ui ) {
console.log(ui);
$('#user-company').val(ui.item.id);
}")],
]);
?>
<?= Html::activeHiddenInput($model, 'company')?>
选择一个选项时,自动完成选项会在我的文本字段中更新,但不会更新隐藏字段.
When selecting an option the autocomplete options are updating in my text field but not updating the hidden field.
如何在选择选项时更新隐藏字段?
How can I get the hidden field to update when an option is selected?
推荐答案
您可以使用以下属性:
labels
- 显示在下拉菜单中,value
- 选择后跳转到输入字段,id
- 隐藏字段使用的附加参数.
labels
- shown in dropdown,value
- jumps to input field after selection,id
- additional paramter for hiden field usage.
例如:
<input type="hidden" id="user_company" name="user_company" value="qwe">
<?php
use yii\web\JsExpression;
echo AutoComplete::widget([
'name' => 'company',
'id' => 'ddd',
'clientOptions' => [
'source' => [
['label'=>'color1', 'value'=>'key1', 'id'=>'c_id1'],
['label'=>'color2', 'value'=>'key2', 'id'=>'c_id2']
],
'autoFill'=>true,
'minLength'=>'0',
'select' => new JsExpression("function( event, ui ) {
console.log(ui);
$('#user_company').val(ui.item.id);
}")
],
]);?>
这篇关于在 Yii2 中使用自动完成更新隐藏字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文