2012-12-19 67 views
0

我是CakePHP的新手我現在在複選框上我用下面的語句,但它 給出複選框後面的標籤,它也打印字段也。我的要求是它不 打印字段名稱並在複選框後顯示標籤。 請幫幫我, 在此先感謝蛋糕PHP複選框

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

回答

13

首先,確保你的價值是布爾或TINYINT。否則,你永遠不會得到一個複選框。

然後,就建這樣的:

echo $this->Form->input('Model.field', array(
    'type' => 'select', 
    'multiple' => 'checkbox', 
    'options' => array(
      'Value 1' => 'Label 1', 
      'Value 2' => 'Label 2' 
    ) 
)); 
+0

我的價值觀是整數 – user1891267

+0

然後,這似乎是你的問題:) –

+0

我不想顯示Model.field其可能 – user1891267

0

我的解決辦法是按照2.0版

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

如果您指定型號名稱上面,在創建表格,你不需要使用模型的名稱。如果字段是布爾型的,那麼您將自動獲得控件作爲複選框。 Alsom你可以在選項列表中指定它,如

'type'=>'checkbox' 

祝你好運!

0

要繪製複選框,您必須先在數據庫中正確配置您的表格。在DB設置自己場上這些選項:

  1. 字段類型= TINYINT
  2. 長度/值= 1
  3. 設置Defualt = 0

,最後你的觀點:

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

如果沒有,則100%將工作,然後爲您的視野設置默認值:

echo $this->Form->input('checkbox_field', array('type'=>'checkbox')); 
0

CakePHP的3.0

$this->Form->input('id', ['type'=>'select', 'multiple' => 'checkbox', 'options'=>$array]);