AJAX单选按钮使用jQuery

问题描述:

我需要帮助才能提交的RSVP与这样的单选按钮:AJAX单选按钮使用jQuery

Attending: <input type="radio" /> 
Maybe Attending: <input type="radio" /> 
Not Attending: <input type="radio" /> 

每当有人回复活动的情况下,它应该比输入到所选择的(所以只是一个单选按钮只能选择),所以当选择一个选项时,它应该使用$.ajax函数执行AJAX请求。

我这样做:

Attending: <input type="radio" onclick="rsvpEvent(3, 1);" /> 
Maybe Attending: <input type="radio" onclick="rsvpEvent(2, 1);" /> 
Not Attending: <input type="radio" onclick="rsvpEvent(1, 1);" /> 

使用jQuery:

function rsvpEvent(rsvp, id) 
{ 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8888/update/test.php", 
     data: "rsvp=" + rsvp + "id=" + id, 
     success: function() 
     { 
     alert('rsvp: ' + rsvp + ' id: ' + id); 
     }, 
     error: function() 
     { 
     alert('rsvp: ' + rsvp + ' id: ' + id); 
     } 
    }); 
} 

这并不在所有的工作......这是什么问题?

有几件事情我会改变

  • 我想使它成为一个实际的形式,而不是仅仅单选按钮,从而使他人不启用Javascript仍然可以参加你们的精彩派对。
  • 使单选按钮都具有相同name='whatever',这样如果你使用,你可以使用serialize()从jQuery的形式来与您的数据(目前你会发送修正这个错误,你只能选择在同一时间
  • 一个rsvp = 3id = 1,我怀疑你的函数期望)。
+1

',从而使他人不启用Javascript仍然可以参加你们的精彩parties.' - 有史以来最好的报价;) – MacMac 2010-09-22 00:11:32

首先,我认为它应该是一个post事件,而不是一个get,并且当方法后面的代码需要两个参数时,您发送的数据是单个字符串。

 function GetDate() { 
      $.ajax({ 
       type: "POST", 
       url: "default.aspx/GetDate", 
       data: "{myParam:'" + document.getElementById("txtParam").value + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(msg) { 
        $.each(msg, function(i, item) { 
         $("#dialog").fadeOut("fast", function() { 
          $("#dialog").html(item); 
          $("#dialog").fadeIn(300); 
         }); 

        }); 
       } 
      }); 
     } 
+0

我知道我的样本是对于.NET,但剩下的就是相关 – griegs 2010-09-21 23:25:52

您的具体问题是URL的值,它应该是唯一的:

url: "update/test.php", 

Ajax请求的第三方网站通常是不可能的,因为安全限制,所以你不能使用HTTP :// on url value。

在数据别忘& ID之前

+ “&id=” + id