抱歉,我这么快就再次发帖,但我真的尝试了很多不同的选择,希望它能奏效。
我有一个 jQuery/AJAX 表单,它将根据用户输入创建数组。然后,AJAX 会将值发送到我的 PHP 脚本,以从我的数据库中提取和放置数据。
我遇到的问题是当我只选中一个框时,AJAX 会创建一个空白结果
如果您选择 2 个或更多值,它会 100% 正常工作。我在想它可能是由一个以 0 开头的数组或其他一些奇怪的因素引起的。我还检查了我的控制台,它正在向我的 PHP 页面提交正确的值。
单值
XHR 完成加载:“ http://healthbenefitsohio.com/expertise.php?expertise%5B%5D=Ancillary ”。
两个及以上值
XHR 完成加载:“ http://healthbenefitsohio.com/expertise.php?expertise%5B%5D=Ancillary&expertise%5B%5D=SmallGroup ”。
然后我决定也许我可以通过使用 if 语句来实现这一点,但这似乎也不起作用。我尝试使用data
AJAX 调用部分中的语句,一个 if/else 语句,每个语句中都有自己的 AJAX 调用,我尝试将 if 语句变成一个变量以传递到数据中。
如果语句
if(myArray.size() > 0) {
//Function goes here
else {
//Function goes here
}
当前适用于两个及以上值的 AJAX 调用
// Agent search ajax/jQuery
function agentAJAX() {
$('input').on('click', function() { //Pulls data based on radial input
var myArray = [];
var value = $(this).val();
$(".formC input:checkbox:checked").each(function(){
myArray.push($(this).val());
});
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: myArray
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
});
}
agentAJAX();
IF/else AJAX 调用
// Agent search ajax/jQuery
function agentAJAX() {
$('input').on('click', function() { //Pulls data based on radial input
var myArray = [];
var value = $(this).val();
$(".formC input:checkbox:checked").each(function(){
myArray.push($(this).val());
});
if(myArray.size() > 1) {
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: myArray
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
}
else {
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: value
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
}
});
}
agentAJAX();
如果您需要更多信息或代码,请告诉我,我会在午餐后上传。
回答
// Agent search ajax/jQuery
function agentAJAX() {
$('input').on('click', function() { //Pulls data based on radial input
var myArray = [];
var value = $(this).val();
$(".formC input:checkbox:checked").each(function(){
myArray.push($(this).val());
});
if(myArray.length === 1) {
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: value
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
}
else {
$.ajax({
type: "POST",
datatype: "html",
data: {
expertise: myArray
},
url: "expertise.php",
success: function (data) {
$("#bodyA").html(data);
}
});
}
});
}
agentAJAX();