2012-07-02 16 views
8

Ich habe eine multiple select-list-box für Staff in Create-Service-Form, verwendet, um mehrere Mitarbeiter beim Erstellen eines neuen Dienstes auszuwählen. Dafür kann ich mehrere Mitarbeiter in einem einzigen Dienst zuweisen.Wie Sie ausgewählte Listenelemente in Mehrfachauswahlliste in der Updateansicht in yii laden?


gespeichert Ich staff_id Feld als:
$model->staff_id = serialize($model->staff_id);


Hier die Update-Ansicht Code für Mehrfachauswahl-Listenfeld:

<div class="row"> 
    <?php echo $form->labelEx($model,'staff_id'); ?> 
    <?php 
      $data = array('1' => 'Sam', '2' => 'john', '3' => 'addy'); 
      $htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'multiple'); 
      echo $form->ListBox($model,'staff_id', $data, $htmlOptions); 
    ?> 
    <?php echo $form->error($model,'staff_id'); ?> 
</div> 

Problem ist, wenn ich Form laden zum Aktualisieren eines Dienstes. Wie wähle ich die Mitarbeiter aus, die zuvor in der Datenbank gespeichert wurden?

Ich versuchte this DropDownList-Attribute, aber es funktioniert nicht.
$ auswählen | Zeichenfolge | der ausgewählte Wert

Wenn jemand eine Lösung hat, dann schlagen Sie mich vor. Danke All Mates ...

Antwort

12

Hier ist ein kurzer Code, den ich für Sie geschrieben habe, ein Beispiel, das Ihnen helfen wird zu verstehen, wie es funktioniert.

<div class="row"> 
    <?php echo $form->labelEx($model,'staff_id'); ?> 
    <?php 
    $data = array('101' => 'Faraz Khan', '102' => 'Depesh Saini', '103' => 'Nalin Gehlot', '104' => 'Hari Maliya'); 
    $selected = array(
     '102' => array('selected' => 'selected'), 
     '103' => array('selected' => 'selected'), 
    ); 
    $htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'true', 'options' => $selected); 
    echo $form->listBox($model,'staff_id', $data, $htmlOptions); 
    ?> 
    <?php echo $form->error($model,'staff_id'); ?> 
</div> 

Viel Spaß Ya !!!

+0

Thats die perfekte Antwort, dank Ihnen Mate ... – Frank

+0

Jede einfache Methode, um es mit Werten aus der Datenbank zu tun. Meist Master-Detail. – Vijay

+0

Es funktioniert nicht ... keine Werte sind vorgewählt ... –