我无法使用jquery ajax从单选按钮获取不同的值

时间:2010-08-05 02:27:31

标签: jquery

我的表格

<form action="" method="post">

<p>Shirt 1 : <input type="radio" name="myradio" id="myradio" value="0"/></p>
<p>Shirt 2 : <input type="radio" name="myradio" id="myradio"  value="1"/></p>


<input type="button" name="submit" id="submit" value="create" onclick="createImage()" />

</form>

我的javascript:

function createImage(){

     $.ajax({


        type: "POST",
        url: "output.php",
        data:   "myradio=" + document.getElementById("myradio").value,
        success: function(html){
            $("#output").html(html);
        }   


     });
}

for $_POST['myradio']即使单击第二个单选按钮,我也只得到0的值。我是否需要给单选按钮指定不同的ID?

2 个答案:

答案 0 :(得分:3)

使用:checked选择器。这将为您提供已选中的单选按钮。此外,ID s在页面中应为 唯一 。我的示例使用了类myradio

data:   "myradio=" + $(".myradio:checked").val(),

另一种优雅的方式是使用.serialize()。这将为您提供用于提交的字符串参数。

在您的示例中,如果我们使用.serialize(),如果myradio=0的值为myradio,我们可以获得$(function(){ $(':button').click(function() { alert($('form').serialize()); return false; }); }); ​ 之类的内容。

示例代码,试试here

{{1}}

答案 1 :(得分:2)

试试这个:

 $('input:radio[name=myradio]:checked').val();

而不是:

document.getElementById("myradio").value;