【问题标题】:Populate values to checkbox while editing in zend framework在 zend 框架中编辑时将值填充到复选框
【发布时间】:2010-11-19 07:14:21
【问题描述】:

我正在尝试将值填充到复选框中。我希望在数据库中存储有值时选中复选框。

这是我的代码形式:

$form ['test_1'] = new Zend_Form_Element_Checkbox('test_1');
$form['test_1']->setLabel('test1')->setCheckedValue('1');

$form ['test_2'] = new Zend_Form_Element_Checkbox('test_2');
$form['test_2']->setLabel('test2')->setCheckedValue('2');

如果数据库中有值1,我希望选中第一个复选框,如果它的2 则需要选中第二个复选框。

我需要在控制器中做什么。

谁能帮我解决这个问题。

【问题讨论】:

    标签: zend-framework checkbox


    【解决方案1】:

    最简单的方法是从数据库中获取值作为映射到表单输入元素的数组,例如返回一行像

    array('test_1' => 'value of checkbox', 'test_2' => 'value of checkbox');
    

    然后您可以简单地调用$form->populate($values) 并让Zend_Form 进行设置,例如在你的控制器中做

    public function showFormAction()
    {
        $form = $this->getHelper('forms')->get('MyForm');
        $data = $this->getHelper('dbGateway')->get('SomeTable');
        $form->populate($data->getFormData());
        $this->view->form = $form;
    }
    

    注意:上面的助手不存在。它们只是为了说明您如何处理此问题。请记住,您需要thin controllers and fat models,因此您不应在控制器内创建表单,也不应在其中放置任何查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2012-10-08
      相关资源
      最近更新 更多