2016-06-28 9 views
0
<div class="row"> 
      <?php echo $form->labelEx($model,'ClassId'); ?>  
      <?php 
      $School=Yii::app()->session['Schoolid']; 
      echo CHtml::activeDropDownList($model,'ClassId',CHtml::listData(Classdetails::model()->findAll(array("condition"=>"classid >0 and School_Id='$School' and Status=1","order"=>"classid")),'classid','classname'), 
      array(
      'empty'=>'--Select a Class--', 
      'ajax' => array(
      'type'=>'POST', //request type 
      'url'=>CController::createUrl('Studentmarks/Dynamiccities'), //url to call. 
      'data'=>array('Classid'=>'js: $(this).val()'),   
      'update'=>'#'.CHtml::activeId($model,'pid'), 
      ))); 
       echo $form->error($model,'ClassId'); 
       echo $form->labelEx($model,'pid'); 
       echo CHtml::activeDropDownList($model,'pid', array(),array('prompt'=>'-- Select a Student --')); 
      echo $form->error($model,'pid'); 
       ?>  
      </div> 
+0

Suchen Sie nach Fehlern und HTML, die von Ihrem Controller zurückgegeben wurden, um das Problem zu beheben. – yetanotherse

+0

Hey, was ist gemeint, dass in Update-Daten nicht kommen. Ajax funktioniert oder nicht in Update-Form oder Sie möchten eine ausgewählte PID nach ausgewählten Classid. – user1234

+0

Bitte gehen Sie durch den folgenden Link, http://stackoverflow.com/questions/31825161/dependent-dropdown-when-edit-in-yii – Arya

Antwort

0

Gemäß dem Code angegeben, werden Sie explizit die zweite Dropdown leer Einstellung, weshalb es nicht funktioniert in Ansicht aktualisieren

Im Aktualisierungsmodus müssen Sie das Dropdown-Menü einfach mit möglichen Werten füllen, wobei der gespeicherte Wert ausgewählt ist.

Sie können wahrscheinlich so etwas tun.

if($model->isNewRecord) 
    echo CHtml::activeDropDownList($model,'pid', array(),array('prompt'=>'-- Select a Student --')); // create 
else 
    echo CHtml::activeDropDownList($model,'pid', $model->populateStudentsDate($model->ClassId)); // update 

In populateStudentsDate($model->ClassId) Methode müssen Sie filtern und die Liste der Studenten pro Klasse Auswahl zu zeigen.