@darckgraf

Ajax множественный обновляемый фильтр как в инет-магазинах?

Всем доброго времени суток. Подскажите, пожалуйста, саму идею, как сделать фильтр как инет-магазинах?

Т.е., есть, к примеру, три блока

1. Бренд
2. Память
3. Камера

Как при выборе бренда сделать так, чтобы блок Память, Камера, и сами товары, которые соответствуют запросу бренда отобразились?

К примеру, выбираю бренд Асус, из памяти есть только 6 ГБ (2 шт) и камера размером 10 и 12 мпикс соответственно.

Т.е., Асус (чекбокс чекед)

Обновление:
2. Память
----- 6 ГБ (2 шт) (чекбокс не выбран)
3. Камера
------ 10 мпикс (1 шт) (чекбокс не выбран)
------ 12 мпикс (2 шт) (чекбокс не выбран)

4. Отображено 2 позиции бренда соответственно с 10 и 12 мпикс камерами.

Т.е., это зависимые чекбоксы. Только как с ними работать не могу понять.

Какая логика и как и куда передается?

Изначально делал так :

В index.php выводил все 4 блока (3 блока фильтров) + блок самих записей.

Подключал аякс. Но в аяксе можно сделать только один запрос, т.е., обновить один блок. Это он делает на ура. А остальные блоки как обновить то? Никак не могу сообразить. Поскольку после загрузки данных по блокам после аякс запроса, доступ получить к ним не получается.

Собственно, как это все логично и правильно можно связать? Может есть какие примеры?

Делаю так вот:
$(document).ready(function(){	
   $('.select').on('click', function() {
				var category = [];
				$("input[name=category]:checked").each(function() {                   
                category.push($(this).val());
				return category;
     
                });
				
       
                var ram = [];
                 $("input[name=ram]:checked").each(function() {                   
                    ram.push($(this).val());
                    //alert(plateform);  
					 return ram;
                 });
			//var cat = "<?php echo "$_POST['category']"; ?>";
	//var formdata = $("#checkform").serialize();
                 $.ajax({
            url: "select.php",
			type: "post",
			//dataType: "json",	
            data: {category:category},
            success: function(data){
				console.log(data);
                $('.result').html(data);
            }    
        });
	});
			return false;
	   });

Категория, т.е, бренд, передается хорошо, в файле селект идет обработка и выводится Память, которая соответствует только выбранным брендам. Данные как к этому запросу вывести так же сообразить не могу...

Заранее благодарю.
  • Вопрос задан
  • 930 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы