从yii2中的下拉列表的值创建模型表单

时间:2016-05-02 20:05:28

标签: model yii2 dropdown

我有一个下拉列表,列出了表格中的类别名称,例如books表格或项目表格。每个类别都有一个特殊的表单,用于将其存储到数据库中,当然每个类别都有不同 我需要从下拉列表中获取所选名称并在其自身下创建模型表单。

1 个答案:

答案 0 :(得分:0)

这只是我的代码,列出了猫的

<?php

       $dataCategory=ArrayHelper::map(Category::find()->all(), 'id', 'name');
       echo $form->field($model, 'type')->dropDownList($dataCategory,
           ['prompt'=>'لطفا یک گروه را انتخاب نمائید']);
?>

此代码用于从数据库中获取sub_category

<?php
$script=<<< JS
$('#cat').change(function(){
    var cat_id = $(this).val();

    $.get('index.php?r=site/getsubcat',{cat_id:cat_id},function(data){
        if(data != "no sub_category exist for this category!")
        {
            $('#sub_cat').fadeIn(500);
            $('#sub_cat').html(data);
        }
        else
        {
            $('#sub_cat').fadeOut(500);
            $('#sub_cat').html('');
        }
    });
});
$('#sub_cat').change(function(){
       alert($(this).val());
});
JS;

$this->registerJs($script);
?>

这是我的控制器

public function actionGetsubgroup($cat_id)
{
    $subcat = SubCategory::find()
        ->where(['cat_id' => $cat_id])
        ->all();
    if(!empty($subcat)) {
        foreach ($subcat as $sub_category) {
            echo "<option value='$cat->id'>$cat->name</option>";
        }
    }
    else {
        echo "no sub_category exist for this category!";
    }
}
相关问题