在Yii2中,我希望我的输入字段之一在用户开始输入时自动完成.Below是我使用Jui Autocomplete的代码.
$items= ArrayHelper::map(Company::find()->all(),'c_id','name');
echo AutoComplete::widget([
'model' => $model,'attribute' => 'company','clientOptions' => [
'source' => $items,],]);?>
这不起作用.当我打印我的阵列时,我喜欢
Array ( [1] => abc [2] => xyz [4] => pqr )
当我手动设置时,我得到它的工作
$items=['abc','xyz','pqr'];
原因可能是我的c_id没有被命令?但是我想要提交c_id值!任何想法如何解决这个问题?
这可以通过隐藏的字段输入来解决.希望这会对某人有所帮助!
use yii\web\JsExpression;
$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 ) {
$('#user-company').val(ui.item.id);
}")
],]);
?>
= Html::activeHiddenInput($model,'company')?>
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。