2015-12-30 12 views
6

Tôi muốn kiểm tra Yii2 CheckBoxList tại thời điểm nhận bài cập nhật danh sách các tùy chọn được đề cập dưới đây enter image description herekiểm tra hộp kiểmList trong Yii2 tại thời điểm cập nhật bài đăng?

<?= $form->field($category,'title')->checkboxList([1=>'Latest news','2'=>'Unit Performance','3'=>'Latest Technology'])->label(FALSE); ?> 

Tôi muốn kiểm tra một số hạng mục tại thời điểm cập nhật mà được chọn tại thời điểm bài tạo like latest news .

enter image description here

Vui lòng giúp tôi

+0

Tham khảo: http://www.yiiframework.com/forum/index.php/topic/53418-checkboxlist-options/ –

+0

vâng thanks , nhưng tôi không thể tìm thấy các giải pháp thích hợp cho hình thức hoạt động –

+0

Giá trị đã được đặt từ mô hình chưa? chỉ cần thêm dòng mã sau đây '$ category-> title = $ array_of_selected_value' – alfa6661

Trả lời

11

Sử dụng dòng mã của ví dụ.

$list = [1=>'Latest news','2'=>'Unit Performance','3'=>'Latest Technology']; 

<?= $form->field($category,'title')->checkboxList($list)->label(FALSE); ?> 

Nếu tùy chọn "Tin tức mới nhất" và "Hiệu suất Đơn vị" được chọn như vậy, vào cập nhật được lựa chọn tùy chọn mảng giá trị sẽ $checkedList = [1, 2];

Vì vậy, Đơn giản chỉ cần gán $checkedList mảng để $category->title. Giống như là,

$category->title = $checkedList; 

Full ví dụ là:

$list = [1=>'Latest news','2'=>'Unit Performance','3'=>'Latest Technology']; 

if(!$category->isNewRecord) { 
    $checkedList = [1, 2]; //get selected value from db if value exist 
    $category->title = $checkedList; 
} 

<?= $form->field($category,'title')->checkboxList($list)->label(FALSE); ?> 
+0

cảm ơn bạn làm việc của mình –

+0

cảm thấy tự do để chấp nhận ans. – GAMITG

+0

câu trả lời hay. . . – msoa

1

Bạn có thể sử dụng đoạn mã sau để có được hàng loạt các hộp kiểm chọn.

$selected_checkbox_array = Yii::$app->request->post("title"); 

đây nếu bạn muốn concat chúng thành chuỗi, bạn có thể sử dụng chức năng implode php của

$selected_checkboxes = implode(',', $selected_checkbox_array); 

cách khác là

if ($model->load(Yii::$app->request->post())) 
{ 

     $model->title= implode(",", $model->title); 

     if($model->save()) 
     { 
       return $this->redirect(['gridpage', 'id' => $model->id]); 
     }  
} 
Các vấn đề liên quan