如何在cakephp中的多重选择列表框中设置选择

时间:2012-09-25 05:33:54

标签: cakephp-2.0 multi-select

我想将多项选择设置为我的多列表框。

我的视图页面中有两个结果。

$inr1 = 0;
$arr1 = array();
$str_arr = '';
foreach ($result as $rows){
    $inr1 = $rows['Employees']['employee_id'];
    $arr1[$inr1] = $rows['Employees']['first_name'].' '.$rows['Employees']['last_name'];
    $str_arr = $str_arr.$inr1.',';
}
$str_arr = substr($str_arr,0,-1);
//print_r($arr1);

$inr = 0;
$arr = array();
foreach ($options as $option){
    $inr = $option['Employee']['employee_id'];
    $arr[$inr] = $option['Employee']['first_name'].' '.$option['Employee']['last_name'];
}

//print_r($arr);

echo $this->Form->input('emp_id_one', array(    'options' => array( $arr),
        'empty' => '(choose one)',
        'div'=>'formfield',
        'error' => array(   'wrap' => 'div',
                            'class' => 'formerror'
                        ),
        'label' => 'Team Members',
        'type' => 'select', 'multiple' => true,
        'selected' => $arr1,
        'style' => 'width:210px; height:125px;',

));

但是$arr1中的值未在列表框中选中。

$arr1具有所选值。

$arr可以选择列表。

问题在于选择不起作用。没有选择...

我该怎么做?

如果我的代码有任何问题..?

1 个答案:

答案 0 :(得分:3)

最后,我通过追查一些代码解决了我的问题:

在此$str_arr = substr($str_arr,0,-1);'之后添加一行代码。 那是......

$str_arr = substr($str_arr,0,-1);
    $sel = explode(',',$str_arr);

然后更改变量名称,如下所示:

echo $this->Form->input('emp_id_one', array(    'options' => array( $arr),
        'empty' => '(choose one)',
        'div'=>'formfield',
        'error' => array(   'wrap' => 'div',
                            'class' => 'formerror'
                        ),
        'label' => 'Team Members',
        'type' => 'select', 'multiple' => true,
        'selected' => $sel,
        'style' => 'width:210px; height:125px;',

    ));

现在,在多列表

中选择了$sel中的值