我想要做的是通过jquery选择获取所选元素的值。之后,这些值通过ajax发布到php脚本,然后从数据库中检索数据并将其显示在同一页面上(称为autocompete)。
var marvalue=$("input[name=m_status]:checked").val();
var fromhvalue=$("#fromheight").val();
var tohvalue=$("#toheight").val();
var value = $("#edu_det1").val();
alert (value);
var regvalue = $("#religion").val();
alert (regvalue);
var occvalue = $("#occupation").val();
alert (occvalue);
var convalue = $("#country").val();
alert (convalue);
警告可以检查正确的值。如您所见,上面的代码将获取不同输入元素的值。 下面是我用来发布到php的代码
/*
$.post("regsearch.php", {queryString: ""+value+"",queryString1: ""+marvalue+"",queryStringfage: ""+fage+"",queryStringtage: ""+tage+""+queryStringfromh: ""+fromhvalue+""+queryStringtoh: ""+tohvalue+""+}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
*/
问题:
删除注释时,也不会弹出警告,也不会显示结果。好的结果是没有发布查询。
主要的一部分是,当我使用下面的代码时,它仅包含m_status
和edu_det1
。
marvalue=$("input[name=m_status]:checked").val();
alert (marvalue);
var value = $("#edu_det1").val();
alert (value);
上面的邮政编码是
$.post("regsearch.php", {
queryString: ""+value+"",
queryString1: ""+marvalue+"",
queryStringfage: ""+fage+"",queryStringtage: ""+tage+""
}, function(data) {
// Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
此处未添加年龄代码及其验证。有什么问题以及如何解决这个问题?
答案 0 :(得分:0)
首先,你应该使用你的控制台来查看Javascript错误,因为我确信这会产生一些错误。例如,查询字符串未定义。
我也是console.log而不是警报,它不那么烦人且信息量更大。
然后:你不需要使用f.e. “”+ marvalue +“” - 只需使用marvalue。另一方面f.e. queryString应该引用...
$.post("regsearch.php", {'queryString':value,'queryString1': marvalue,'queryStringfage':fage,'queryStringtage':tage,'queryStringfromh': fromhvalue,'queryStringtoh':tohvalue}, function(data) {
$('#suggestions').fadeIn();
$('#suggestions').html(data);
});
答案 1 :(得分:0)
如果使用jquery serialize()
函数会更好。这将使您的生活更容易使用表单。
var querstring = $(form).serialize();
以上将有所帮助
答案 2 :(得分:0)
我想使用ajax post jQuery.ajax()会做同样的事情,你甚至可以序列化页面中的字段。
http://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings
我做过类似的代码
UserName是我传递的字段
var data = $('#Username').serialize();
$('#usernameCheck').empty();
if (!$("form").validate().element("#Username"))
return;
$.ajax({
url: '/SignUp/CheckUsername',
type: 'POST',
data: data,
async: true,
success: function (result) {
if (result == 1) {
$('#usernameCheck').html('<font color=green>Username available</font>');
usernameOK = true;
}
else if (result == 2) {
$('#usernameCheck').html('<font color=red>Username not available</font>');
usernameOK = false;
}
else {
$('#usernameCheck').empty();
usernameOK = false;
}
}
});