ATK4 - 自动完成显示字段

时间:2012-04-13 04:23:22

标签: php user-interface frameworks autocomplete atk4

好的,所以我正面朝下看着ATK4的学习曲线......

我正在尝试设置一个简单的页面,就像这里的Agile演示一样: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');

    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

查看此附加组件:https://github.com/atk4/autocomplete

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

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