Я использую плагин 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>