php – 使用ajax post请求发送两个数组

weixin_38092995 2019-09-12 11:48:31
我正在使用ajax / jquery和php / mysql处理过滤器功能.我有两组复选框1)=>对于区域2)=>对于Localities.过滤器类似于一个here.我想要发送两个复选框的值来过滤记录.地区的过滤器将在选择区域复选框时进行本地过滤.我已经在一定程度上使其工作这是在第一组复选框上调用的. 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'; } }); } 这是具有Localities的第二组chck框 <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> 我调用了一个与上面类似的函数并将其发布到不同的页面.这是第二个chck box函数: 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中知识.通过帖子,但无法解决它.任何帮助将不胜感激. 编辑当我检查第一组chck框时,我得到一个数组,并使用上述函数过滤记录. Array ( [venue] => Array ( [0] => Pune East [1] => Pune West [2] => Pune North [3] => Pune South ) ) 如果我现在点击任何第二组chck框,我会得到一个这样的数组. 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 ??还是可以用更简单的方式完成? 谢谢
...全文
50 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38096180 2019-09-12
  • 打赏
  • 举报
回复
使用a选择对象的内容.所以你的 data['venue[]'].push($(this).val()); 应该: data.venue[].push($(this).val());

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧