2013-04-26 14 views
6

Tôi đang sử dụng hình thức duy nhất cho việc tạo ra và cập nhật một form.I cần hộp kiểm kiểm tra bởi mặc định trong các hình thức sau đâyLàm thế nào để thực hiện kiểm tra hộp kiểm theo mặc định trong yii khi sử dụng hình thức duy nhất cho tạo và cập nhật

<div class="row" style='float:left;;margin-left:5px'> 
     <?php echo '<span for="label" style="margin-bottom:5px;font-size: 0.9em;font-weight: bold;">Label</span><br />'; ?> 
     <?php echo $form->checkBox($model,'label_name',array('value'=>1,'uncheckValue'=>0,'checked'=>'checked','style'=>'margin-top:7px;')); ?> 
     <?php echo $form->error($model,'label_name'); ?> 
    </div> 

i đang sử dụng mã trên để đạt được cùng một mục đích tôi không nhận được kết quả như mong đợi. Trong khi cập nhật biểu mẫu, nó hiển thị được kiểm tra mặc dù nó đã được bỏ chọn

Trả lời

8

tôi đã nhận giải pháp tôi đã làm việc với mã riêng của mình xin vui lòng có một cái nhìn

<div class="row" style='float:left;;margin-left:5px'> 
     <?php echo '<span for="label" style="margin-bottom:5px;font-size: 0.9em;font-weight: bold;">Label</span><br />'; ?> 
     <?php echo $form->checkBox($model,'label_name',array('value'=>1,'uncheckValue'=>0,'checked'=>($model->id=="")?true:$model->label_name),'style'=>'margin-top:7px;')); ?> 
     <?php echo $form->error($model,'label_name'); ?> 
    </div 
+0

làm việc tốt sunith –

+0

nhờ Kapil ... –

0

Yêu cầu của bạn là giữ hộp kiểm được chọn để tạo và cập nhật. checked = kiểm tra sẽ phục vụ mục đích trên tạo hình thức nhưng, về việc cập nhật, bạn phải xử lý nó thông qua mã

+0

tôi đã nhận được câu trả lời –

4

Một giải pháp tốt hơn sẽ được thiết lập các giá trị trong bộ điều khiển:

public function actionCreate() { 
    $model = new ModelName(); 

    if (isset($_POST[$model])) { 
     // ... save code here 
    } 
    else { 
     // checkboxes for label 'label_name' with value '1' 
     // will be checked by default on first load 
     $model->label_name = true; // or 1 
    } 

    $this->render('create', array(
     'model' => $model, 
    )); 
} 

Hoặc tốt hơn vẫn còn, trong afterConstruct() chức năng trong mô hình:

protected function afterConstruct() { 

    parent::afterConstruct(); 

    $this->label_name = true; // or 1 
} 
1

Tất cả bạn cần là để thiết lập giá trị mặc định trong mô hình:

public $label_name = true; 
Các vấn đề liên quan