无法使用 CJuiAutoComplete 自动完成其他文本字段
Cannot autocomplete other textfields using CJuiAutoComplete
我有一个包含字段 id_peg
、nama_peg
和 jabatan_peg
的模型。所以这就是我想做的:
- 当我在文本字段中键入
id_peg
时自动提示显示 id_peg
的列表
- 当我 select 建议的
id_peg
时,字段 nama_peg
和 jabatan_peg
会根据相应的 selected 值(从数据库中检索)自动完成)
我一直在尝试做第一个,我做到了。但是我卡在了第二个。
这是我所做的:
view/melaporkan.php:
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'test1',
'source' => $this->createUrl('search'),
// additional javascript options for the autocomplete plugin
'options' => array(
'showAnim' => 'fold',
'select' => 'js:function(event, ui) {
$('#nama_peg').val(ui.item.nama_peg);
$('#jabatan_peg').val(ui.item.jabatan_peg);
}',
),
));
controllers/sitecontroller.php
public function actionSearch() {
$res = array(0 => array('id' => 1, 'value' => "id_peg"), 1 => array('id' => 2, 'value' => "jabatan_peg"), 2 => array('id' => 2, 'value' => "nama_peg"));
if (isset($_GET['term'])) {
$qtxt = "SELECT id_peg FROM pegawai WHERE id_peg LIKE :id_peg";
$command = Yii::app()->db->createCommand($qtxt);
$command->bindValue(":id_peg", '%' . $_GET['term'] . '%', PDO::PARAM_STR);
$res = $command->queryColumn();
}
echo CJSON::encode($res);
Yii::app()->end();
}
它所做的只是对 id_peg
的自动建议。当点击一些随机 id_peg
时,nama_peg
和 jabatan_peg
仍然是空的。
我做错了什么?
实际上问题出在 controllers/sitecontroller.php 页面。
您仅以 JSON 格式发送 id_peg,但试图以 ui.item.jabatan_peg.
格式发送
最好将您的值发送为
[{"id":"Caprimulgus europaeus","value":"European Nightjar"}] 模式
并在 select 函数中获取值 ui.item.value。
我有一个包含字段 id_peg
、nama_peg
和 jabatan_peg
的模型。所以这就是我想做的:
- 当我在文本字段中键入
id_peg
时自动提示显示 - 当我 select 建议的
id_peg
时,字段nama_peg
和jabatan_peg
会根据相应的 selected 值(从数据库中检索)自动完成)
id_peg
的列表
我一直在尝试做第一个,我做到了。但是我卡在了第二个。
这是我所做的:
view/melaporkan.php:
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name' => 'test1',
'source' => $this->createUrl('search'),
// additional javascript options for the autocomplete plugin
'options' => array(
'showAnim' => 'fold',
'select' => 'js:function(event, ui) {
$('#nama_peg').val(ui.item.nama_peg);
$('#jabatan_peg').val(ui.item.jabatan_peg);
}',
),
));
controllers/sitecontroller.php
public function actionSearch() {
$res = array(0 => array('id' => 1, 'value' => "id_peg"), 1 => array('id' => 2, 'value' => "jabatan_peg"), 2 => array('id' => 2, 'value' => "nama_peg"));
if (isset($_GET['term'])) {
$qtxt = "SELECT id_peg FROM pegawai WHERE id_peg LIKE :id_peg";
$command = Yii::app()->db->createCommand($qtxt);
$command->bindValue(":id_peg", '%' . $_GET['term'] . '%', PDO::PARAM_STR);
$res = $command->queryColumn();
}
echo CJSON::encode($res);
Yii::app()->end();
}
它所做的只是对 id_peg
的自动建议。当点击一些随机 id_peg
时,nama_peg
和 jabatan_peg
仍然是空的。
我做错了什么?
实际上问题出在 controllers/sitecontroller.php 页面。 您仅以 JSON 格式发送 id_peg,但试图以 ui.item.jabatan_peg.
格式发送最好将您的值发送为 [{"id":"Caprimulgus europaeus","value":"European Nightjar"}] 模式 并在 select 函数中获取值 ui.item.value。