1

複数リスト ボックスに複数選択を設定したい。

ビュー ページに 2 つの結果があります。

$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オプションがあります。

問題は、選択が機能していないことです..選択がありません...

これどうやってするの?

私のコードに問題がある場合..?

4

1 に答える 1

3

最後に、いくつかのコードをチェーンすることで問題を解決しました:

$str_arr = substr($str_arr,0,-1);この' の後に 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マルチ リストで選択されます。

于 2012-09-25T06:15:42.243 に答える