web-dev-qa-db-ja.com

CakePHPの複数のチェックボックス-チェックするチェックボックスを設定する方法は?

CakePHPの追加/編集ビューに複数のチェックボックスがあります。

echo $this->Form->input('email_warning_chb', array('type'=>'select', 'multiple'=>'checkbox', 'label'=> __('Email notice'), 'class'=>'multiple-chb', 'options'=> array('title...'=>array( '5'=>'5 days', '15'=>'15 days', '30'=>'30 days', '60'=>'60 days');

私の質問は、デフォルトでチェックされるものを設定する方法です(つまり、この例では、5、15、60)?

前もって感謝します!

8
user198003

これはこのように見えます

cakephp:チェックボックスをチェックに設定する方法は?

どこ $selected選択した値が含まれます

3
user1593705

他の回答で述べたように、「選択済み」オプションを設定する必要があります。一部の人々が言及していないのは、選択した配列には各要素のIDのみを含める必要があるということです。例:

$selectedWarnings = $this->Warning->find('list', array(
  'fields' => array('id')
));


echo $this->Form->input('email_warning_chb', array(
    'label' => 'Email Notice',
    'type' => 'select',
    'multiple' => 'checkbox',
    'options' => $warnings,
    'selected' => $selectedWarnings
  ));
11
Pent

コントローラに次のような値を入力する必要があります。

$this->request->data['Model']['email_warning_chb'] = array(5,15,60);

選択したチェックボックスが自動的に表示されます。

あなたのために働かないかどうか尋ねてください。

1
Krishna