单选按钮值,与所选输入无关

时间:2013-08-07 15:27:44

标签: javascript jquery

我有这段代码:

<input type="radio" name="pay" id="payid" value="banktransfer"> Bank Transfer <br/>
<input type="radio" name="pay" id="payid" value="paypal"> PayPal <br/> <br/>

我试试:

var sample = $('#payid').val()
alert(sample);

为什么我还有banktransfer? (无论选择何种输入)?

4 个答案:

答案 0 :(得分:2)

id必须是唯一的。无线电需要相同的名称才能使其开关功能正常工作,但每个都必须具有唯一的ID。例如,您可以使用“payid1”和“payid2”

答案 1 :(得分:2)

ID属性在整个页面中必须是唯一的。在你的情况下,jQuery只是选择具有该ID的第一个元素并返回该值。此代码将为您提供所选的值。

jQuery("input[name=pay]:checked").val();

答案 2 :(得分:0)

尝试

var sample = $("[name=pay]:checked").val()

答案 3 :(得分:0)

您需要指定所需的单选按钮,您可以使用:checked选择器获取正确的单选按钮(已选中)。您还需要使用name属性选择器,因为id需要是唯一的,而JQuery只返回第一个匹配。

这应该适合你:

var sample = $('[name="pay"]:checked').val();
alert(sample);

Here is a working example