我有一个下拉列表:city。
现在我正在尝试使用ajax加载选择上述下拉列表的复选框列表。
例如,如果我点击城市xyz,它应该填充一个复选框列表,例如Holiday package 1,2等。
我尝试了一个类似的例子Creating a dependent dropdown,但即使在回复listData之后它也适用于我。
我如何实现这一目标?我是Yii框架的新手,示例代码片段可以提供帮助。
答案 0 :(得分:1)
您提供的链接显示了您要执行的操作的正确方法。出了什么问题?为什么它不适合你?也许你可以发布你的实现,我们可以找出出了什么问题。
答案 1 :(得分:1)
在您看来:
<?php echo $form->labelEx($model,'az_dropdown_id'); ?>
<?php echo $form->dropDownList($model, 'az_dropdown_id', CHtml::listData(Controller::model()->findAll(), 'id', 'name'),
array(
'ajax' => array(
'type'=>'POST', //request type
'url'=>CController::createUrl('role/dynamicaction'), //url to call.
'update'=>'#checkboxList_id', //selector to update
))); ?>
<div id "checkboxList_id'></div>
在您的控制器中
$data=TheModel::model()->findAll('az_dropdown_id=:az_dropdown_id',
array(':az_dropdown_id'=>(int) $_POST['CurrentController']['az_dropdown_id']));
$data=CHtml::listData($data,'id','name');
echo CHtml::checkboxList('idForCheckboxList','',$data);