2016-04-08 13 views
0

İki api var: 1: tüm sektörleri döndürür, 2: tüm endüstri kategorisini döndürür (endüstri kimliğine göre).Yii2'deki başka bir açılır menüye bağımlı bir açılırma nasıl oluşturulur?

Biri diğerine bağımlı olan iki damlaya ihtiyacım var. Endüstri seçiminde 2. açılır menü yalnızca ilgili kategorileri göstermelidir.

Şimdiden teşekkürler.

+0

kodun ilgili kısmını göstermek ve denenmiş ve ne oldu ne yanlış olduğunu ne açıklayınız. – betseyb

+0

[this] (http://www.yiiframework.com/wiki/723/creating-a-dependent-dropdown-from-scratch-in-yii2/) size yardımcı olacaktır. –

cevap

0

this uzantısını kullanabilirsiniz. Eklentinin açıklamalarını kılavuz sayfasında bulabilirsiniz.

0

Anladım. Değeri bir açılır menüden gönderen ve verileri veriyi döndüren bir eyleme gönderen ajax'ı kullandım ve bu değerleri diğer açılır menüye koydum. :)

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

Teşekkürler, zaten aynı yolu kullanarak uygulamıştım. :) –

+0

pls kodunuzu gösterir veya cevabımı güncelleyebilir, böylece diğer kullanıcılar yardım alabilir. –

+0

Elbette. Bir sonraki yorumuma bakın. –

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

Birkaç denemeden sonra yapmıştım. :) Teşekkürler. Herhangi bir öneri en hoş geldiniz. –

İlgili konular