我在网页上有带有Autocomplete::widget
的文本编辑框。自动完成从数据库填充。当我开始键入并选择自动完成项目(在我的例子中是 DB 中的名字(时,我需要从数据库获取关联的 ID。如何实施?
<?php
use yiihelpersArrayHelper;
use yiihelpersHtml;
use yiiwidgetsActiveForm;
use appmodelsRating;
use appmodelsTeacher;
use yiijuiAutoComplete;
use yiiwebJsExpression;
/* @var $this yiiwebView */
/* @var $model appmodelsRating */
/* @var $form ActiveForm */
$data = Teacher::find()
->select(['lname as value', 'lname as label','id as id'])
->asArray()
->all();
//print_r($data[0].id);//exit;
?>
<div class="rating-input">
ФИО
<?php
echo AutoComplete::widget([
'name' => 'Teacher',
'id' =>'ddd',
'clientOptions' => [
'source' => $data,
'autoFill'=>true,
'minLength'=>'1',
],
]);
https://paste.ee/p/BtQav
试试这个
<input type="hidden" name="teacher_id" id="teacher_id" value="">
<?php
echo AutoComplete::widget([
'name' => 'Teacher',
'id' =>'ddd',
'clientOptions' => [
'source' => $data,
'autoFill'=>true,
'minLength'=>'1',
'select' => new yiiwebJsExpression("function( event, ui ) {
// $('#teacher_id').val(ui.item.id);//#teacher_id is the id of hiddenInput.
console.log(ui.item.id);
}")
],
]);
您在文档页面中提供了更多信息:http://www.yiiframework.com/wiki/830/simple-jui-autocomplete-in-yii2/