无法使用CJuiAutoComplete自动填充其他文本字段

时间:2015-01-15 07:02:10

标签: php autocomplete yii2 yii-extensions

我的模型包含字段id_pegnama_pegjabatan_peg。所以这就是我想做的事情:

  1. 自动提示,显示我在文字字段中输入的id_peg列表id_peg
  2. 当我选择建议的id_peg时,字段nama_pegjabatan_peg会根据相应的选定值(从数据库中检索)自动填充
  3. 我一直试图做第一个,我做到了。但是我被困在第二个。

    这就是我所做的:

    查看/ 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); 
                            }',
                        ),                            
                    ));
    

    控制器/ 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_pegnama_pegjabatan_peg仍为空。

    我做错了什么?

1 个答案:

答案 0 :(得分:1)

实际上问题是controllers / sitecontroller.php页面。 您只发送id_peg作为JSON格式,但尝试获取为ui.item.jabatan_peg。

将您的价值发送给我们总是更好 [{“id”:“Caprimulgus europaeus”,“value”:“欧洲夜鹰”}]模式 并在您的选择函数中获取值ui.item.value。