2014-03-12 71 views
0

我用我project.I的一個我給下面的複選框代碼複選框:Cakephp如何設置複選框值的選擇?

$this->Form->checkbox('ClubOpenDay.status', array("data-on-label" => "Open", "data-off-label" => "Close", "checked" => "checked"), array("empty" => false)) 

這裏,打開默認爲有效。但在編輯模式下,如果value設置爲close,close會顯示。我無法做到這一點。我只想要,如果我從數據庫獲取值,它將顯示打開其他默認關閉。關於它的任何想法?

回答

0

那麼就像你說的,並在視圖只是有一個if語句,應該是這個樣子,你應該從數據庫獲取的值:

if($value == true){ 
    $this->Form->checkbox('ClubOpenDay.status', array("data-on-label" => "Open", "data-off-label" => "Close", "checked" => "checked"), array("empty" => false)) 
} 
else{ 
    $this->Form->checkbox('ClubOpenDay.status', array("data-on-label" => "Open", "data-off-label" => "Close"), array("empty" => false)) 
} 

$值應該是您從assing變量您控制器,如果它的值爲真,如果其打開或假,如果它關閉,或者甚至不是真或假,1或0會做你只需要改變你的觀點相應的if語句

我希望這可以幫助,祝你好運

0

你可以拯救你R如果其他時間

$checked = ($status == true) ? 'checked' : ''; 

$this->Form->checkbox('ClubOpenDay.status', array("data-on-label" => "Open", "data-off- label" => "Close", "checked" => $checked), array("empty" => false)) 
0

在你的控制器,你必須寫這

public function edit($id){ // for example 
    //[...] 
    $this->request->data['ClubOpenDay']['status'] = $db_value; 
    //$this->request->data['ClubOpenDay']['status'] = 1; // if you want to force a checkbox checked 
} 

而且你的複選框會被自動選中或取消選中。