0

我有这个代码:

<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

4 回答 4

2

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

jQuery("input[name=pay]:checked").val();
于 2013-08-07T15:31:59.847 回答
2

id 必须是唯一的。收音机的开关功能需要相同的名称才能工作,但每个收音机都必须有一个唯一的 ID。例如,您可以有“payid1”和“payid2”

于 2013-08-07T15:28:53.477 回答
0

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

这应该适合你:

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

这是一个工作示例

于 2013-08-07T15:30:24.990 回答
0

尝试

var sample = $("[name=pay]:checked").val()
于 2013-08-07T15:29:02.983 回答