2016-04-08 17 views
0

私は2つのAPIを持っています: 1:すべての業種を返します。 2:すべての業種カテゴリを返します(業界IDに基づいて)。yii2の別のドロップダウンに依存してドロップダウンを作成する方法は?

2つのドロップダウンが必要です.1つは他に依存します。業界を選択すると、2番目のドロップダウンに関連カテゴリのみが表示されます。

ありがとうございます。

+0

コードの関連部分を示しており、何が起こったのかと間違っていた何をしようとしていると何を説明してください。 – betseyb

+0

[this](http://www.yiiframework.com/wiki/723/creating-a-dependent-dropdown-from-scratch-in-yii2/)が役立ちます。 –

答えて

0

this拡張子を使用できます。プラグインの説明はガイドページにあります。

0

私はそれを得ました。私は単純にajaxを使用して、1つのドロップダウンから値をポストし、データを返すアクションにデータを送信し、単にそれらの値を他のドロップダウンに配置しています。 :)

0

_form.php

<?php 
    use yii\helpers\Html; 
    use yii\widgets\ActiveForm; 
    use yii\helpers\ArrayHelper; 
    use app\models\Category; 
    ?> 

    <?php $form = ActiveForm::begin(); ?> 

    $model = Category::find()->select('id,name')->orderBy('name asc')->all(); 
    $listData = ArrayHelper::map($model, 'id', 'name'); 
    <?= $form->field($model, 'industryId')->dropDownList($listData, 
                ['prompt'=>'Select Category', 
             'onchange'=>' 
              $.get("'.Url::toRoute('/category/subcats').'", { id: $(this).val() }) 
               .done(function(data) { 
                $("#'.Html::getInputId($model, 'sub_category').'").html(data); 
               } 
              ); 
             ','class' => 'form-control'  
            ] 
          ); ?> 
     <?= $form->field($model, 'sub_category') 
         ->dropDownList(

          ['prompt'=>'Select sub cat','class' => 'form-control']); 
        ?> 

---- 
+0

ありがとう、私はすでに同じ方法で実装しています。 :) –

+0

あなたのコードを表示するか、私の答えを更新することができますので、他のユーザーがヘルプを受けることがあります。 –

+0

確かに。私の次のコメントを見てください。 –

0
<?= $form->field($model, 'industryId')->dropDownList($industry, 
              ['prompt'=>'Select Industry', 
           'onchange'=>' 
            $.get("'.Url::toRoute('/site/category').'", { id: $(this).val() }) 
             .done(function(data) { 
              $("#'.Html::getInputId($model, 'industryName').'").html(data); 
             } 
            ); 
           ','class' => 'form-control'  
          ] 
        ); ?> 
<?= $form->field($model, 'industryName') 
       ->dropDownList(

        ['prompt'=>'Select category','class' => 'form-control']); 
      ?> 
+0

私はいくつかの試みの後でそれをやりました。 :)ありがとう。 ご提案は大歓迎です。 –

関連する問題