2012-08-28 30 views
8

Tôi đã nhiều hộp kiểm trong Add/Edit xem CakePHP của, tạo ra với:Nhiều hộp kiểm trong CakePHP - cách đặt các hộp kiểm được chọn?

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'); 

Câu hỏi của tôi là làm thế nào để thiết lập cái nào được kiểm tra theo mặc định (tức là trong thi dụ, 5, 15 và 60.)?

Cảm ơn bạn trước!

+0

Đây là một câu trả lời tốt hơn cho tôi: http://stackoverflow.com/questions/10243537/cakephp-multiple-select-selected-is-not-working –

+0

Đây là một câu trả lời tốt hơn cho tôi : http://stackoverflow.com/questions/12168225/multiple-checkboxes-in-cakephp-how-to-set-which-are-checked –

Trả lời

1

trong bộ điều khiển của bạn, bạn phải đặt giá trị như thế này:

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

và nó sẽ tự động hiển thị hộp kiểm như đã chọn.

Vui lòng hỏi nếu không hoạt động cho bạn.

9

Như đã nói trong các câu trả lời khác, bạn nên đặt tùy chọn 'đã chọn'. Điều mà một số người không đề cập đến là mảng được chọn của bạn chỉ nên chứa id trong mỗi phần tử. Ví dụ:

$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 
)); 
Các vấn đề liên quan