首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在yii中创建依赖下拉框

问如何在yii中创建依赖下拉框
EN

Stack Overflow用户
提问于 2013-01-28 14:37:10
回答 1查看 1.6K关注 0票数 0

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

代码语言:javascript
复制
<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>

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

EN

回答 1

Stack Overflow用户

发布于 2013-01-28 16:49:19

将jquery添加到视图中:

代码语言:javascript
复制
$('#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                            
                    },
                });   

        });

在你的控制器中:

代码语言:javascript
复制
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;
    }

我就是这么做的。:D

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14556685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档