如何通过jQuery post()提交单选按钮值

时间:2014-10-25 06:36:30

标签: javascript php jquery

我想要做的是获取单选按钮值并通过jQuery post()将其提交到php文件中并获得响应。

当我尝试发送“城市”的值时,下面的代码工作正常。正如您所看到的,“测试”被注释掉了。随着“test”被注释掉,程序工作,并且“city”的值被提交到php文件被处理,返回和打印。

有人可以通过获取单选按钮值来发现问题吗?

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("#trans_type").click(function(){
    $('#realty_type').html("<b>Loading response...</b>");

    $.post("sql_s.php",
    {
      //  test: $('input[name=transaction_type]:checked', '#trans_type').val()
    city:"New York"
    },
    function(data,status){
    document.getElementById("object_type").innerHTML = data;
    });
  });
});
</script>

<meta charset="UTF-8">
</head>
<body>
<h1>Some title</h1><br />

<form action="" id="trans_type">
<b>What would you like?</b><br />
<input type="radio" name="transaction_type" value="2">Sell&nbsp;&nbsp;&nbsp;
<input type="radio" name="transaction_type" value="3">Buy
</form>
<div id="object_type">message comes here</div>


</body>
</html>

2 个答案:

答案 0 :(得分:2)

我建议更改该行

{
    test: $('input[name=transaction_type]:checked', '#trans_type').val(), 
    city:"New York"
},

替换成

 {
        test: $('input[name=transaction_type]:checked').val(), 
        city:"New York"
    },

无需点击当前ID 并在发布的值中添加逗号分隔符(,)以区分您的值。 请参阅此JSFIDDLE

答案 1 :(得分:1)

我认为您的代码中的行已经评论,是您想要的 只需添加一个逗号(,),因为它是一个对象,那就是你需要的分隔符......

所以,请使用:

{
    test: $('input[name=transaction_type]:checked', '#trans_type').val(), // <- comma here
    city:"New York"
},