<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 :(得分:0)
根据指定的代码,您明确将第二个下拉列表设置为空,这就是它在更新视图中不起作用的原因。
在更新模式下,您只需使用选定的已保存值填充下拉列表中的可能值。
你可能会做这样的事情。
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
在populateStudentsDate($model->ClassId)
方法中,您需要根据班级选择过滤并显示学生列表。