Zend中的addmultioption数组问题

时间:2010-04-03 10:51:43

标签: zend-framework zend-form

我试图在Zend_Form_Element_Select元素中添加选项

$monthvalues = new Zend_Form_Element_Select('month_values');
$table = new Model_DbTable_Options();
$monthvalues->addMultiOptions($table->Months())

在我的Model_DbTable_Options模型中,我有

public function Months()
    {
        $array = array(
        '01' => 'Jan',
        '02' => 'Feb',
        '03' => 'Mar',
        '04' => 'Apr',
        '05' => 'May',
        '06' => 'Jun',
        '07' => 'Jul',
        '08' => 'Aug',
        '09' => 'Sep',
        '10' => 'Oct',
        '11' => 'Nov',
        '12' => 'Dec',
        );

        return $array;
    }

它不能给我预期的结果。 什么不见​​了?

2 个答案:

答案 0 :(得分:1)

像这样创建数组

$myArray = array( 'NULL' => 'Select Month',
                     '1' => 'Jan',
                     '2' => 'Feb',
                     '3' => 'Mar',
                     '4' => 'Apr',
                     '5' => 'May',
                     '6' => 'Jun',
                     '7' => 'Jul',
                     '8' => 'Aug',
                     '9' => 'Sep',
                    '10' => 'Oct',
                    '11' => 'Nov',
                    '12' => 'Dec'
                 );

创建这样的元素:

$selectElement = $this->CreateElement('select', 'months');
$selectElement->setLabel('Label');
$selectElement->addMultiOptions( $myArray );

答案 1 :(得分:0)

小心!如果你将这样的NULL值添加到Zend Form中,你将保存的$ model将具有值string(4)“NULL”

//格式为

$任务 - > addMultiOption( 'NULL', '');

//显示在html中

select id =“fk_id_task_task”name =“fk_id_task_task” option label =“”value =“NULL”/ option

//来自表单值的模型

$ values = $ form-> getValues(); $ model-> fromArray($ values,true);

//转储$ model,最后得到string(4)“NULL”

$ model-> fk_id_task_task = string(4)“NULL”