2016-10-23 10 views
0

select2 dropdownlist kartikにidを追加する方法。私がドロップダウンで値「成功」を選択するときの目標は、他のドロップダウンリストのexample2とexample3の値が無効であるためです。その前に、ドロップダウンリストexample2とexample3の値が "yes"の場合はfalseです。私はコードのjavascriptを作成しましたが、動作しません。私は知らない、アドバイスをお願いします。依存ドロップダウンはyii2で機能しません

この私のコード:

<?php 
 
echo $form->field($model, 'example')->widget(Select2::classname(), [ 
 
    'model' => $model, 
 
    'hideSearch' => true, 
 
    'data' => ['success' => 'Success', 'fail' => "Fail"], 
 
    'language' => 'id', 
 
    'options' => [ 
 
     'placeholder' => 'Pilih', 
 
     'options' => [ 
 
      ['id' => 'example'], 
 
     ] 
 
    ], 
 
    'pluginOptions' => [ 
 
     'allowClear' => true, 
 
     'width' => '350px', 
 
     ], 
 
    ])->label('Example'); 
 
?> 
 

 
<?php 
 
echo $form->field($model, 'example2')->widget(Select2::classname(), [ 
 
    'model' => $model, 
 
    'hideSearch' => true, 
 
    'data' => ['yes' => "Yes", 'no' => "No"], 
 
    'language' => 'id', 
 
    'options' => [ 
 
     'placeholder' => 'Pilih', 
 
     'options' => [ 
 
      'yes' => ['disabled' => true], 
 
      ['id' => 'example2'], 
 
     ] 
 
    ], 
 
    'pluginOptions' => [ 
 
     'allowClear' => true, 
 
     'width' => '350px', 
 
     ], 
 
    ])->label('Example 2'); 
 
?> 
 

 
<?php 
 
echo $form->field($model, 'example3')->widget(Select2::classname(), [ 
 
    'model' => $model, 
 
    'hideSearch' => true, 
 
    'data' => ['yes' => "Yes", 'no' => "No"], 
 
    'language' => 'id', 
 
    'options' => [ 
 
     'placeholder' => 'Pilih', 
 
     'options' => [ 
 
      'yes' => ['disabled' => true], 
 
      ['id' => 'example3'], 
 
     ] 
 
    ], 
 
    'pluginOptions' => [ 
 
     'allowClear' => true, 
 
     'width' => '350px', 
 
     ], 
 
    ])->label('Example 3'); 
 
?>

このJavaScriptコード:

<?php 
 
$this->registerJs(' 
 
$("input[type=dropdown]").change(function() { 
 

 
    var isi = this.value; 
 
    if(isi == "success") { 
 
     $("#example2").attr("disabled",false); 
 
     $("#example3").attr("disabled",false); 
 
    } 
 

 
}); 
 
') 
 
?>

+0

どういう意味ですか?これをどのようにしたいかの例を提供してください。 – Bizley

答えて

0

が、これはあなたが望むものであるように。 最初の要素(#example)にオプションを追加:

'pluginEvents' => [ 
     "change" => "function() { 
      var value = $(this).val(); 
      if(value == 'success') 
      { 
       $('#demo-example2').val('yes'); 
       $('#demo-example2').trigger('change'); 
       $('#demo-example3').val('yes'); 
       $('#demo-example3').trigger('change'); 
      } 
     }",  
    ] 
+0

コードの配置場所はどこですか?私はid "example"をドロップダウンに入れようとしましたが、結果は失敗します。例のフィールドの_'pluginOptions'_より下の – CrashBurn

+0

。 –

+0

まだ@Wilson Ng – CrashBurn

関連する問題