Отправка двух массивов с использованием запроса ajax post

Я работаю над функциональностью фильтра, используя ajax / jquery и php / mysql. У меня есть два набора флажков: 1) => для регионов 2) => для локаций . Фильтр похож на тот, что есть здесь . Я хочу отправить значения обоих флажков для фильтрации записей. Фильтр для местностей будет локально отфильтрован на флажке выбора региона. Я получил его для работы до некоторой степени. Это вызывается в первом наборе флажки.

Html

<div class="locality"> <input type="checkbox" id="checkbox1" class="checkbox1" value="<?php echo $suburb['suburb_name']?>" name="Suburb_check[]" onClick="changeResults();" onChange="" ><?php echo $suburb['suburb_name']?> <span class="grey">(<?php echo $suburb['total']?>)</span> </div> <?php }?> 

Javascript / Jquery

 function changeResults(){ var data = { 'venue[]' : []}; $("input:checked").each(function() { var chck1 = $(this).val(); //alert(chck1); data['venue[]'].push($(this).val()); }); $.ajax({ type : 'POST', url : 'process.php', data : data, success : function(data){ $('#project_section').html(data); // replace the contents coming from php file } }); $.ajax({ type : 'POST', url : 'loadLocality.php', data : data, success : function(data){ document.getElementById("searchLoader").style.display = 'block'; $('#localityList').html(data); // replace the contents coming from php file // alert(data); document.getElementById("searchLoader").style.display = 'none'; } }); } 

Это второй набор ящиков с локалями

 <div class="locality" id="localities"> <input type="checkbox" onClick="changeLocality();" id="1" value="<?php echo $locality['locality_name'];?>" name="Locality_check[]"><?php echo $locality['locality_name'];?> <span class="grey">(<?php echo $locality['total'];?>)</span> </div> 

Я вызвал функцию, аналогичную приведенной выше, и разместил ее на другой странице. Вот вторая функция:

 function changeLocality(){ var dataLocality = {'locality[]' : []}; $("input:checked").each(function() { var chcklocal = $(this).val(); //alert(chcklocal); dataLocality['locality[]'].push($(this).val()); }); $.ajax({ type : 'POST', url : 'processLocality.php', data : dataLocality, success : function(dataLocality){ // document.getElementById("newloader").style.display ="block"; $('#project_section').html(dataLocality); // replace the contents coming from php file //alert('data'); // document.getElementById("newloader").style.display ="none"; } }); } 

Но, когда я выбираю поле области, а затем поле локальности, а затем снимаю выделение области, я также получаю предыдущее значение локальности в массиве областей ( имя массива – место встречи ). Я хочу, чтобы только регионы посещали массив и регионы + местоположения в массиве локальности. Фактически, если я отменил выбор региона, то значение локальности также должно быть удалено из массива. Кроме того, хотя я отправляю их на разные страницы, на странице региона хранятся значения локальности. Я застрял не так много Знание JQUERY.
Прошел через сообщения, но не смог его исправить. Любая помощь была бы оценена.

EDIT. Я получаю массив, когда проверяю первый набор ящиков chck, а также фильтрует записи, используя вышеуказанные функции.

 Array ( [venue] => Array ( [0] => Pune East [1] => Pune West [2] => Pune North [3] => Pune South ) 

)

Если я сейчас нажму на любой из двух наборов ящиков, я получаю массив такого типа.

  Array ( [locality] => Array ( [0] => Pune East [1] => Pune West //[0] and [1] are regions [2] => Aundh [3] => Kalyaninagar //[2] and [3] are localities ) 

)

Примечание. Область может иметь несколько локалей. Но я хочу, чтобы оба они были разными массивами, поскольку они представляют собой два разных параметра для SQL-запроса для фильтрации данных. Надеюсь, я уже достаточно ясно!
Является ли мой подход RiGHT? Или это можно сделать более простым способом?
благодаря

вы выбираете содержимое объекта с помощью . Так что ваши

 data['venue[]'].push($(this).val()); 

должно быть:

 data.venue[].push($(this).val()); 

попробуйте изменить

  $("input:checked").each(function() { 

в

 $("checkbox[name=check_box_name]:checked").each(function() { 

измените это для обоих, я надеюсь, что это сработает

Ну, теперь я думаю, что это глупая ошибка! : P Проблема заключалась в именах флажков. В Javascript мы не можем иметь venue[] скобки [] во имя флажков. Предполагалось, что он похож на PHP для размещения массивов. Узнал его после некоторого чтения и поиска! Проблема решена. Спасибо тем, кто ответил.