2012-08-22 31 views
0

我想要做的是通过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_statusedu_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

什么是查询字符串的领域?我没有看到这在任何地方,但在$ .post() – 2619

+0

querystring包含在PHP脚本中读取的值像'$ queryString = $ db-> real_escape_string($ _ POST ['queryString']);' –

回答

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); 
}); 
+0

即使使用什么也没有效果你是说! –

0

这将是更好,如果你使用jquery serialize()功能。这会让你的生活更轻松地处理表单。

var querstring = $(form).serialize(); 

都有助于

0

我猜用ajax后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; 
       } 

      } 
     });