Доброго дня! Подскажите пожалуйста как правильно реализовать с точки зрения оптимизации, а то понимаю что расплодил сущностей. Суть в следующем:
1. Есть 4 выпадающих списка. Они зависимые друг от друга. Не могу понять, как правильно организовать отправку выбранных параметров на сервер, т.е. глупо писать на каждый выпадающий список событие change и вызывать аякс запрос с отправкой параметров, а то их 4 штуки получится.
2. Мне хотелось бы сделать таким образом, когда я выбираю последние зависимые выпадающие списки, чтобы считывались все выбранные мною элементы и отсылались единственным ajax запросом. Кнопочку Submit я не использую т.к. задумка именно такая, чтобы при выборе любого из селектов подгружалась инфа которая нашлась в базе по выбранным id-шникам. Ну думаю смысл понятен. Как именно сделать это правильно!? Заранее спасибо, вот код... 2 аякс запроса мне нужны для подгрузки зависимых селектов, наверное это тоже не верно и можно одним справиться... Буду благодарен за любые советы
/** серия - первая */
$( '#series_one' ).on('change', function(){
$.ajax({
data : 'seriesID='+this.value,
url : "<?=$this->createUrl('/site/SelectComplectation')?>",
success : function(html){
if(html != '') $('#complectation_one').prop('disabled', false).html(html);
else $('#complectation_one').attr('disabled','disabled').html('<option>...</option>');
}
});
});
/** серия - вторая */
$( '#series_two' ).on('change', function(){
$.ajax({
data : 'seriesID='+this.value,
url : "<?=$this->createUrl('/site/SelectComplectation')?>",
success : function(html){
if(html != '') $('#complectation_two').prop('disabled', false).html(html);
else $('#complectation_two').attr('disabled','disabled').html('<option>...</option>');
}
});
});
/** комплектация серии */
$('#complectation_one').on('change', function(){
$.ajax({
data : 'complectationID_one='+this.value,
type : "POST",
url : "<?=$this->createUrl('/site/SelectOption')?>",
success : function(html){
if(html != '') $('#tabResult').html(html);
}
});
});
/** комплектация серии */
$('#complectation_two').on('change', function(){
$.ajax({
data : 'complectationID_two='+this.value,
type : "POST",
url : "<?=$this->createUrl('/site/SelectOption')?>",
success : function(html){
if(html != '') $('#tabResult').html(html);
}
});
});