сохранить предыдущие настройки после перезапуска начальной загрузки - PullRequest
0 голосов
/ 19 сентября 2019

Я использую плагин bootstrap-multiselect для множественного выбора элементов в каждой категории.
Несколько категорий также могут быть выбраны.
Итак, если пользователь выбирает категорию C1, я загружаю и показываю все элементы в этой категории, используя ajax.
Теперь пользователь выбирает элементы из выбранных элементов.
Но проблема возникает, когда пользователь выбирает другую категориюC2, потому что теперь снова все элементы из обеих категорий будут загружены, и я должен rebuild() плагин.При этом я теряю все предыдущие выборы.
Есть ли способ решить проблему?Любой метод из плагина bootstrap-multiselect.
Javascript

 $(document).ready(function() {

        $('#commodity').multiselect({
            buttonWidth:165,
            maxHeight: 400 
        })
        $('#category').multiselect({

            buttonWidth:165,
            maxHeight:200,
            includeSelectAllOption:false,
            onChange: function(option, checked, select) {
                      var categories= $('#category option:selected');
                      var selected = [];
                      $(categories).each(function(index, category){
                          selected.push([$(this).val()]);
                       });

                       $.post("get-commodities",
                         {
                           selected_categories: selected,
                           "_token": "{{ csrf_token() }}"
                         },

                        function(data, status){
                          var html='';
                          for(var category in data)
                          {
                              html +='<option value="'+category+'">'+data[category]+'</option>';
                          }
                          $('#commodity').html(html);
                          console.log(html);
                          $('#commodity').multiselect('rebuild');
                        });             
            }
        });


    });

HTML

<div class="row m-b-5">
        <div class="col-sm-8"><label for="catgory">Category</label></div>
        <div class="col-sm-4">
            <select name="category[]" id="category"  multiple="multiple">
                <option value="1">Cereals</option>
                <option value="4">Fibers</option>
                <option value="3">Oil seeds</option>
                <option value="6">Other</option>
                <option value="2">Pulses</option>
                <option value="5">Spices</option>  
            </select>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-8"><label for="joined_on">Commodity</label></div>
        <div class="col-sm-4">
            <select name="commodity[]" id="commodity" multiple="multiple">
            </select>
        </div>
    </div>
...