如何在yii中创建相关下拉框

如何在yii中创建相关下拉框,yii,dropdownbox,Yii,Dropdownbox,我在yii框架下工作。我想创建从属下拉框。第一个下拉框是我从数据库中获取的类别。我有一个类别下拉框的代码- <div class="row"> <?php echo $form->labelEx($model,'category'); ?> <?php echo $form->dropdownList($model,'category', CHtml::listData(Category::model()->findAll(), 'category

我在yii框架下工作。我想创建从属下拉框。第一个下拉框是我从数据库中获取的类别。我有一个类别下拉框的代码-

<div class="row">
<?php echo $form->labelEx($model,'category'); ?>
<?php echo $form->dropdownList($model,'category', CHtml::listData(Category::model()->findAll(), 'categoryId', 'category'), array('empty'=>'Choose one')); ?>
<?php echo $form->error($model,'category'); ?>
</div>


现在我想创建下一个项目下拉框,它将只加载选定类别以上的项目。我把items作为另一个表,categoryId作为forein键。那么,如何获取上述选定的categoryId以在同一视图窗体上加载其相关项?

将jquery添加到视图中:

$('#choose-type').change(function() {
            var type = $(this).val();
                $.ajax({
                    type: "GET",
                    url: "<?php echo Yii::app()->request->baseUrl; ?>/your_path/chooseBrand",
                    data: "type="+type,
                    dataType: 'json',
                    success: function(data){
                        // decode data and add to your dropdown                            
                    },
                });   

        });
我就是这样做的…:D

public function actionChooseBrand() {
        $type       = (int)$_GET['type'];
        $brands     = Brands::model()->findAllByAttributes(array('type_id' => $type)); 
        $data       = array();

        foreach($brands as $brand) {
            $data[$brand->id] = $brand->name;
        }
        echo json_encode($data);
        exit;
    }