yii2中的dependendt下拉列表

时间:2017-06-23 07:15:37

标签: yii2 dropdown

<?= $form->field($model, 'fk_int_category_id')->dropDownList(
            ArrayHelper::map(TblCategory::find()->all(), 'pk_category_id','vchr_category_name'),
            ['prompt'=> 'Select a category',
             'onchange'=>'
                    $.post("index.php?r=product-size-variants/get-sub-category&id='.'"+$(this).val(), function(data){
                        //alert(data);
                            $("select#tblproduct-fk_int_sub_category_id").html(data);
                    });',       
            ]) ?>

    <?= $form->field($model, 'fk_int_sub_category_id')->dropDownList(
            ArrayHelper::map(TblSubCategory::find()->all(), 'pk_sub_category_id','vchr_sub_category_name'),
            ['prompt'=> 'Select Sub category'
              'onchange'=>'
                    $.post("index.php?r=product-size-variants/get-sub-category&subId='.'"+$(this).val(), function(data){
                        //alert(data);
                            $("select#tblproduct-fk_int_sub_category_id").html(data);
                    });'  
            ]) ?>

    <?= $form->field($model, 'fk_int_product_variants')->dropDownList(
            ArrayHelper::map(TblProductSizeVariants::find()->all(), 'pk_int_product_size_variants_id','vchr_size_names'),
            ['prompt'=> 'Select Product Size']) ?>

我有三个下拉列表在第二个下拉列表工作中使用第一个, 第三个下拉列表依赖于第一个和第二个dropDown。 如何在这个index.php中传递2个值?r = product-size-variants / get-sub-category&amp; subId = url ???第二次下拉

2 个答案:

答案 0 :(得分:0)

你的代码有点混乱,你可能会在php中编写js时遇到错误,其中excape序列必须是相同的。我已经完成了重新工作。让我知道它是否正常工作

<?= $form->field($model, 'fk_int_category_id')->dropDownList(
        ArrayHelper::map(TblCategory::find()->all(), 'pk_category_id','vchr_category_name'),
        ['prompt'=> 'Select a category',
         'onchange'=>'generateSubCat(this)',       
        ]) ?>

<?= $form->field($model, 'fk_int_sub_category_id')->dropDownList(
        ArrayHelper::map(TblSubCategory::find()->all(), 'pk_sub_category_id','vchr_sub_category_name'),
        ['prompt'=> 'Select Sub category'
          'onchange'=>'generateProductVariant(this)'  
        ]) ?>

<?= $form->field($model, 'fk_int_product_variants')->dropDownList(
        ArrayHelper::map(TblProductSizeVariants::find()->all(), 'pk_int_product_size_variants_id','vchr_size_names'),
        ['prompt'=> 'Select Product Size']) ?>

<script>
function generateSubCat(obj){
     $.post("index.php?r=product-size-variants/get-sub-category/?id="+obj.value, function(data){
        $("select#tblproduct-fk_int_sub_category_id").html(data);
    });
  }
 function generateProductVariant(obj){
    var catID=$('#tblproduct-fk_int_category_id').val();
    if(catID==""){
       alert("Please select category");
    }else{
        $.post("index.php?r=product-size-variants/get-sub-category/?id="+catID+"&subId="+obj.value, function(data){
            $("select#tblproduct-fk_int_sub_category_id").html(data);
        });
     }

  }
  </script> 

答案 1 :(得分:0)

请参阅以下网址,了解可以帮助您的相关下拉菜单。

http://demos.krajee.com/widget-details/depdrop#basic-usage