简体   繁体   English

Select2 Change事件-在第一次select2框值更改时更改下一个select2框的选项

[英]Select2 Change Event - Change the options for next select2 box on first select2 box value change

I have 2 select2 boxes. 我有2个select2框。 First is Category and next is Sub-category. 首先是类别,其次是子类别。

Now, I want to change the options for subcategory box based on Category box selected value. 现在,我想根据“类别”框的选定值更改子类别框的选项。 And the data for Subcategory box should load using AJAX. 并且应该使用AJAX加载“子类别”框的数据。

Please help me. 请帮我。

just solved it myself 我自己解决了

<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet" />
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script>

<select class="js-data-example-ajax" id="category" >
<option value="">Select a category</option>
<option>cat1</option>
<option>cat2</option>
<option>cat3</option>
</select>
<select class="js-data-example-ajax" id="sub-category" >
</select>
<script>
  $("#category").select2({
  placeholder: "Select a category",allowClear: true
  });

  $("#sub-category").select2({
  placeholder: "Select sub-category",allowClear: true
  });


  $('#category').on("change", function (e) { 
   var result = '';
   var catval = $(this).val();
    if(catval != '') {
     url = "subcats_top/"+ catval;
        $.ajax({
        type: "GET",
        url: url,
        dataType: 'json',
        success: function(data){
        var length = data.length;

        if(length > 0) {
            for(key in data) {
                result += '<option value="' + data[key].id + '">' + data[key].name + '</option>';
            }


        } else {

        }
        $("#sub-category").html(result);
    }
    });
  }
   });
    </script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM