ATK4 - 自动完成显示字段


ATK4 - autocomplete display field

好吧,所以我脸朝下躺在人行道上,抬头看着 ATK4 学习曲线......

我正在尝试设置一个简单的页面,就像这里的敏捷演示一样:http://codepad.agiletoolkit.org/autocomplete 使用我自己的数据库表。

因此,我遇到的问题是数据库记录主键"id"显示在自动完成框中。所有数据都正确显示,但显然,我希望显示复杂名称 (complex_name) 列数据,而不是 id。我看不到要定义要显示哪一列的地方,而且敏捷似乎正在决定这一点?我可以设置吗?我做错了什么?

这么简单的事情,但是我一直在敲打我的头,不知道如何在ATK4中设置它这么多小时,以至于我可以把头发扯掉。我已经搜索并查看了代码示例。

这是我的代码:

<?php
class page_index extends Page {
    function init(){
        parent::init();
        $page=$this;
        $form=$this->add('Form');
        $name=$form->addField('autocomplete','complex_name','Complex Lookup/Add')->setModel('Complex');
        $form->getElement('complex_name')->js('change',$form->js()->submit());
        $form2=$this->add('MVCForm');
        $model = $form2->setModel('Complex');
        if($_GET['id'])$model->loadData($_GET['id']);
        $form2->addSubmit();
        if($form2->isSubmitted()){
            $form2->update();
            $form2->js()->reload()->execute();
        }
        if($form->isSubmitted()){
            $form2->js()->reload(array('id'=>$form->get('complex_name')))->execute();
        }
    }
}
<?php
class Model_Complex extends Model_Table {
    public $entity_code='condo_complexes';
    function init(){
        parent::init();
        $this->addField('complex_name');
        $this->addField('complex_address1');
        $this->addField('complex_city');
        $this->addField('complex_zip');
    }
}

感谢您的任何帮助。

看看这个附加组件:https://github.com/atk4/autocomplete

它尚未完全完成,但处于开发阶段。

也许您也有兴趣关注ATK4环聊。访问ATK4主页并获取更多信息。