2015-12-30 13 views
6

Voglio controllato Yii2 CheckBoxList al momento dell 'aggiornamento del messaggio mia lista di opzioni è menzionato sotto enter image description herecheckboxList in Yii2 al momento dell'aggiornamento del post?

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

voglio controllare qualche elemento al momento dell'aggiornamento che è selezionato al momento della creazione posta like latest news .

enter image description here

aiutarmi a

+0

consultare: http://www.yiiframework.com/forum/index.php/topic/53418-checkboxlist-options/ –

+0

Sì, grazie , ma non riesco a trovare soluzioni appropriate per il modulo attivo –

+0

Il valore è già impostato dal modello? aggiungi semplicemente la seguente riga di codice '$ category-> title = $ array_of_selected_value' – alfa6661

risposta

11

Uso riga di codice di esempio.

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

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

Se l'opzione "Ultime notizie" e "Performance Unità" viene scelta in modo, su aggiornamento selezionato l'opzione di matrice valore sarà $checkedList = [1, 2];

Quindi, è sufficiente assegnare $checkedList array $category->title. Come come,

$category->title = $checkedList; 

esempio completa è:

$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

grazie al suo funzionamento –

+0

sentiti libero di accettare gli ans. – GAMITG

+0

bella risposta. . . – msoa

1

è possibile utilizzare il seguente codice per ottenere serie di caselle di controllo selezionati.

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

Qui se volete li concat nella stringa, è possibile utilizzare la funzione implode php

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

altro modo è

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

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

     if($model->save()) 
     { 
       return $this->redirect(['gridpage', 'id' => $model->id]); 
     }  
} 
Problemi correlati