Javascript 如何在jQueryAjax中发送所有搜索过滤器值并获得结果?
我有一个搜索过滤器选项,比如checkbox,radibutton如何获取checkbox checked value的值,获取选中的单选按钮,并将值发送到mysql搜索查询以获取结果。请用下面的代码检查 注意:现在我将分别发送值复选框和单选按钮值,这将在用户筛选时给出不精确的结果Javascript 如何在jQueryAjax中发送所有搜索过滤器值并获得结果?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一个搜索过滤器选项,比如checkbox,radibutton如何获取checkbox checked value的值,获取选中的单选按钮,并将值发送到mysql搜索查询以获取结果。请用下面的代码检查 注意:现在我将分别发送值复选框和单选按钮值,这将在用户筛选时给出不精确的结果 <li><label class="add"><input type="checkbox" class="location_check" name="iCheck[]" value="E
<li><label class="add"><input type="checkbox" class="location_check" name="iCheck[]" value="East Valley">East Valley</label>
</li>
<li><label class="add"><input type="checkbox" class="location_check" name="iCheck[]" value="Central/South Valley">Central/South Valley</label>
</li>
\\radio button
<li><label class="add"><input type="radio" class="budget_filter" name="iCheck" value="open">
OPEN</label></li>
<li><label class="add"><input type="radio" class="budget_filter" name="iCheck" value="500">
LESS THAN $500</label></li>
<li><label class="add"><input type="radio" class="budget_filter" name="iCheck" value="1000">
LESS THAN $1000</label></li>
$('.location_check').on('ifChecked', function(event){
var values = new Array();
$("input.location_check[type=checkbox]:checked").each(function(){;
values.push($(this).val());
})
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
var total_pages = 4;
$.ajax({
url:"<?php echo base_url('search_jobs/fetch_jobs')?>",
type: "POST",
data:'location_checkboxes='+ values +'&page='+track_click,
beforeSend: function(){
$('#loader-icon').show();
},
complete: function(){
$('#loader-icon').hide();
},
success: function (html) {
$('#jobsfound').html(html);
}
})
})
$('.budget_filter').on('ifClicked', function(event){
var get_value= $(this).val();
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
var total_pages = 4;
$.ajax({
url:"<?php echo base_url('search_jobs/fetch_jobs')?>",
type: "POST",
data:'search_data=' + get_value + '&page='+track_click,
beforeSend: function(){
$('#loader-icon').show();
},
complete: function(){
$('#loader-icon').hide();
},
success: function (html) {
$('#jobsfound').html(html);
}
})
})
东谷
if($this->input->post('search_data')=="open"){
$where = "and rs.budget >= 0";
}else if($this->input->post('search_data')){
$where = "and rs.budget < $this->input->post('search_data')";
}else{
$where = "";
}
echo $where;
if($this->input->post('location_checkboxes')){
$where = "and FIND_IN_SET(a.neighborhood_area, '".$this->input->post('location_checkboxes')."')";
}
if($this->input->post('search_data')==“open”){
$where=“和rs.budget>=0”;
}else if($this->input->post('search_data')){
$where=“and rs.budget<$this->input->post('search_data')”;
}否则{
$where=“”;
}
echo$where;
如果($this->input->post('location\u复选框')){
$where=“并在_集合(a.neighbour_区域,”$this->input->post('location_复选框')。”);
}
将整个发送数据转换为JSON格式并发送到PHP代码。您可以在其中进一步使用它。我在javascript中通过单函数调用解决了这个问题
$('input').on('ifChecked', function(event){
var mapOptions = {
center: new google.maps.LatLng(10.670044, -61.515305),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var values = new Array();
$("input.location_check[type=checkbox]:checked").each(function(){
values.push($(this).val());
})
var budget_value;
if($('input.budget_filter:checked').val()){
budget_value = $('input.budget_filter:checked').val();
}else{
budget_value = "";
}
var job_date;
if($('input.job_date:checked').val()){
job_date = $('input.job_date:checked').val();
}else{
job_date = "";
}
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
var total_pages = 4;
$.ajax({
url:"<?php echo base_url('search_jobs/fetch_jobs')?>",
type: "POST",
dataType:"json",
data:'location_checkboxes='+ values + '&budget_value=' + budget_value +
'&job_dates=' + job_date + '&page='+track_click,
beforeSend: function(){
$('#loader-icon').show();
},
complete: function(){
$('#loader-icon').hide();
},
success: function (html) {
$('#jobsfound').html(html);
alert($("#test").text());
//initialize();
new google.maps.Marker({
position: new google.maps.LatLng(33.493889, -111.922874),
map: map,
//icon: new google.maps.MarkerImage( src, new google.maps.Size(100, 106), new google.maps.Point(0, 0), new google.maps.Point(50, 50) ),
// title: c.name
});
}
})
})
$('input')。在('ifChecked',函数(事件){
变量映射选项={
中心:新google.maps.LatLng(10.670044,-61.515305),
缩放:16,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map”)、mapOptions);
var值=新数组();
$(“input.location\u check[type=checkbox]:checked”)。每个(函数(){
value.push($(this.val());
})
var预算值;
if($('input.budget_filter:checked').val()){
budget_value=$('input.budget_filter:checked').val();
}否则{
预算_值=”;
}
var工作日;
if($('input.job_date:checked').val()){
job_date=$('input.job_date:checked').val();
}否则{
工作日期=”;
}
var track_click=0;//跟踪用户单击“加载更多”按钮,现在是0单击
var总页数=4页;
$.ajax({
url:“”,
类型:“POST”,
数据类型:“json”,
数据:'location_复选框='+值+'&预算_值='+预算_值+
“&job_dates=”+job_date+”&page=”+track_click,
beforeSend:function(){
$(“#加载程序图标”).show();
},
完成:函数(){
$(“#加载程序图标”).hide();
},
成功:函数(html){
$('#jobsfound').html(html);
警报($(“#测试”).text();
//初始化();
新的google.maps.Marker({
位置:新google.maps.LatLng(33.493889,-111.922874),
地图:地图,
//图标:new google.maps.MarkerImage(src,new google.maps.Size(100106),new google.maps.Point(0,0),new google.maps.Point(50,50)),
//标题:c.name
});
}
})
})
您可以使用Javascript会话您在php中得到的结果是什么?@Errorstars我得到了结果,但对于每个复选框和单选按钮,这应该根据复选框值和单选按钮值进行过滤我知道如何转换,但如何使用单个函数发送复选框,radiobutton请用我的代码检查我有单独的函数使一个全局数组变量保存你的复选框和单选按钮值,然后将该数组作为json发送。下面是我用数组自定义你的代码并将其保存为json的示例。让我知道它在这里工作是示例问题。