2013-08-21 145 views
4

我想获得单选按钮值并通过AJAX发送给PHP。ajax获取单选按钮值

我的AJAX正在运行,但目前在每行中插入0,所以它不会从单选按钮中获取值。任何帮助,将不胜感激。

$("#save_privacy").submit(function() { 
    var message_pri = $("#message_pri").val(); 
    var follow_pri = $("#follow_pri").val(); 
    var post_pri = $("#post_pri").val(); 
    var check7 = $("#check7").val(); 

    var s = { 
    "message_pri": message_pri, 
    "follow_pri": follow_pri, 
    "post_pri": post_pri, 
    "check": check7 
    } 

    $.ajax({ 
    url: 'edit_check.php', 
    type: 'POST', 
    data: s, 
    beforeSend: function() { 
     $(".privacy_info").html("<img src=\"style/img/ajax/load2.gif\" alt=\"Loading ....\" />"); 
    }, 
    success: function(data) { 
     $(".privacy_info").html(data); 
    } 
    }); 

    return false; 
}); 
<form id="save_privacy"> 
    <table align="center" width="70%" cellpadding="0" cellspacing="0" border="0"> 
    <tr> 
     <td style="padding: 5px;"> 
     <b>Message Buttun: </b> 
     </td> 
     <td style="padding: 5px;"> 
     <input type="radio" id="message_pri" name="message_pri" value="1" /> ON 
     <input type="radio" id="message_pri" name="message_pri" value="2" /> OFF 
     <input type="radio" id="message_pri" name="message_pri" value="3" /> FOLLOWERS 
     </td> 
    </tr> 
    <tr> 
     <td style="padding: 5px;"> 
     <b>Follow Buttun: </b> 
     </td> 
     <td style="padding: 5px;"> 
     <input type="radio" id="follow_pri" name="follow_pri" value="1" /> ON 
     <input type="radio" id="follow_pri" name="follow_pri" value="2" /> OFF 
     </td> 
    </tr> 
    <tr> 
     <td style="padding: 5px;"> 
     <b>Who Can Post On Your Profile: </b> 
     </td> 
     <td style="padding: 5px;"> 
     <input type="radio" id="post_pri" name="post_pri" value="1" /> Evry one 
     <input type="radio" id="post_pri" name="post_pri" value="2" /> Followers 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2" style="padding: 5px;"> 
     <input type="hidden" id="check7" value="save_privacy" name="check7" /> 
     <input class="small color blue button" type="submit" value="Save" /> 
     </td> 
    </tr> 
    </table> 
    <div class="privacy_info"></div> 
</form> 
+2

对于初学者来说,你不能有多个元素相同的ID –

回答

11

首先你有很多重复的id的属性,这是不正确。改为使用类,然后使用:checked选择器来获取所选无线电的特定实例。您的其他radio输入

<input type="radio" class="message_pri" name="message_pri" value="1" /> ON 
<input type="radio" class="message_pri" name="message_pri" value="2" /> OFF 
<input type="radio" class="message_pri" name="message_pri" value="3" /> FOLLOWERS 
var message_pri = $(".message_pri:checked").val(); 

等等:

试试这个。

1

不使用ID两个时间第一件事

现在单选框的选中值使用

$("input:radio[name=post_pri] :selected").val(); 
0

试试这个使用serialize功能check serialize here

$("#save_privacy").submit(function(){ 
    var serialise = $("#save_privacy").serialize(); 
    $.ajax({ 
     url:'edit_check.php', 
     type:'POST', 
     data:serialise, 
     beforeSend: function(){ 
     $(".privacy_info") .html("<img src=\"style/img/ajax/load2.gif\" alt=\"Loading ....\" />"); 
     }, 
     success:function(data){ 
     $(".privacy_info") .html(data); 
     } 
    }); 
return false; 
});