Jquery 如何将复选框的状态作为变量输入ajax对象
我有一个可爱的谷歌地图项目,我正在工作。我需要能够点击某些复选框,并有不同的引脚动态显示。我有ajax调用和数据库部分工作。我只是无法让ajax对象接受变量,甚至无法直接读取checkbox对象。以下是对象:Jquery 如何将复选框的状态作为变量输入ajax对象,jquery,ajax,Jquery,Ajax,我有一个可爱的谷歌地图项目,我正在工作。我需要能够点击某些复选框,并有不同的引脚动态显示。我有ajax调用和数据库部分工作。我只是无法让ajax对象接受变量,甚至无法直接读取checkbox对象。以下是对象: var $myCheckbox=jQuery("#myCheckbox").prop('checked'); var ajaxObj = { //Object to save cluttering the namespace. options: {
var $myCheckbox=jQuery("#myCheckbox").prop('checked');
var ajaxObj = { //Object to save cluttering the namespace.
options: {
url: pfp_catz_ajax_script.ajaxurl, //The resource that delivers loc data.
data: {
action: 'pfp_catz_ajax',
searchText: searchText,
theFunction: 'getLocations',
myCheckbox:$myCheckbox, //I can't get anything into the variable
},
dataType: "json", //The type of data to be returned by the server.
type: 'POST'
},
delay: 1000,//(milliseconds) the interval between successive gets.
errorCount: 0,//running total of ajax errors.
errorThreshold: 5,//the number of ajax errors beyond which the get cycle should cease.
ticker: null,//setTimeout reference - allows the get cycle to be cancelled with clearTimeout(ajaxObj.ticker);
post: function(responseData) { //a function which initiates
console.log('myCheckbox='+$myCheckbox);
if(ajaxObj.errorCount < ajaxObj.errorThreshold) {
ajaxObj.ticker = setTimeout(getMarkerData, ajaxObj.delay);
}
},
fail: function(jqXHR, textStatus, errorThrown) {
console.log("This is the error: "+errorThrown);
ajaxObj.errorCount++;
}
};
//Ajax master routine
function getMarkerData() {
jQuery.ajax(ajaxObj.options)
.done(setMarkers) //fires when ajax returns successfully
.fail(ajaxObj.fail) //fires when an ajax error occurs
.always(ajaxObj.post); //fires after ajax success or ajax error
}
setMarkers(locs);//Create markers from the initial dataset served with the document.
ajaxObj.post();//Start the get cycle.
//myCheckbox listener event
jQuery("#legend").on('click', '#myCheckbox',function(){
if(jQuery('#myCheckbox').is(':checked')) {
alert('myCheckbox checked');
$myCheckbox=1;
}
else {
alert('myCheckbox unchecked');
$myCheckbox=0;
}
});
var$myCheckbox=jQuery(#myCheckbox”).prop('checked');
var ajaxObj={//Object以保存混乱的命名空间。
选项:{
url:pfp_catz_ajax_script.ajaxurl,//传递loc数据的资源。
数据:{
行动:“pfp_catz_ajax”,
searchText:searchText,
函数:“getLocations”,
myCheckbox:$myCheckbox,//我无法在变量中获取任何内容
},
数据类型:“json”,//服务器返回的数据类型。
类型:“POST”
},
延迟:1000,/(毫秒)连续获取之间的间隔。
errorCount:0,//正在运行的ajax错误总数。
errorThreshold:5,//超出此范围,获取周期应停止的ajax错误数。
ticker:null,//setTimeout引用-允许使用clearTimeout(ajaxObj.ticker)取消获取周期;
post:function(responseData){//启动的函数
log('myCheckbox='+$myCheckbox);
if(ajaxObj.errorCount
您能发布这个XHR的请求头吗?我在代码底部添加了Ajax主例程。这有帮助吗?作为参考,这里是我建模我的项目的原始代码:您的变量存储的值在的时候,您需要一个复选框侦听器来更新变量,当changedI尝试这样做时。请参见上面我添加的侦听器。谢谢你帮了一个陌生人。