1

私はCakePHPを初めて使用し、チェックボックスに取り組んでいます。次のステートメントを使用しましたが、ラベルの後にチェックボックスが表示され、フィールドも印刷されます。私の要件は、フィールド名を印刷せず、チェック後にラベルを表示する必要があることです。箱。助けてください、よろしくお願いします

<?php echo $form->input('Model.name', array('multiple' => 'checkbox', 'options' => 
$options, 'selected' => $selected));?>
4

4 に答える 4

13

まず、値がboolean または tinyintであることを確認してください。そうしないと、チェックボックスが表示されません。

次に、次のようにビルドします。

echo $this->Form->input('Model.field', array(
    'type' => 'select',
    'multiple' => 'checkbox',
    'options' => array(
            'Value 1' => 'Label 1',
            'Value 2' => 'Label 2'
    )
));
于 2012-12-19T08:13:19.737 に答える
0

私の解決策はv.2.0によるものです

<?php
echo $this->Form->input('field_name', array(
    'label' => 'Some label',
    'selected' => $selected
    /*maybe some other options*/
));
?>

上記でモデル名を指定した場合、フォームの作成中にモデル名を使用する必要はありません。フィールドがブール値の場合、コントロールはチェックボックスとして自動的に取得されます。また、次のようにオプション配列で指定することもできます

'type'=>'checkbox'

幸運を!

于 2012-12-19T08:22:40.627 に答える
0

チェック ボックスを描画するには、最初に DB でテーブルを適切に構成する必要があります。DB のフィールドに次のオプションを設定します。

  1. フィールド タイプ = Tinyint
  2. 長さ/値 = 1
  3. デフォルトを 0 に設定

そして最後にあなたの見解:

echo $this->Form->input('checkbox_field');

そうでない場合は 100% が機能し、ビュー内のフィールドのデフォルト値を設定します。

echo $this->Form->input('checkbox_field', array('type'=>'checkbox'));
于 2013-10-28T15:29:59.453 に答える