在Jquery中使用无线电的头痛

时间:2009-05-05 14:56:44

标签: javascript jquery

我有2个收音机:

<input id="a_15_0" type="radio" value="abc" name="a_15"/>
<input id="a_15_1" type="radio" value="xyz" name="a_15"/>

两者均未被选中。我只有收音机的名字,即a_15,但没有ID。

1)如何获取此收音机所选选项的值?例如,如果用户点击'xyz',我该如何获得它?现在我正在使用:

var val=$('[name="a_15"]').val();

即使选择了xyz,它也总是给出abc。

2)如何通过javascript选择xyz,而不知道xyz收音机的ID?这样做的:

$( '[名称= “a_15”]')VAL( 'XYZ');

将两个无线电的值更改为xyz,而不是选择值为xyz的那个。

我需要使用document.myForm.a_15.value吗?这会一直有效吗?

4 个答案:

答案 0 :(得分:2)

1) 尝试

var val = $('input[name=a_15]:checked').val();

jQuery docs on checked pseudo-class

2)我找到的唯一解决方案是

$('input[name=a_15][value=xyz]').get(0).checked=true

答案 1 :(得分:1)

jQuery中的选择器有很多种方式; id,class等。我相信这将完成工作,而不是测试:

var val= $("input[name=a_15]:checked").val();

如果您知道表单的名称,那么肯定会这样做

var val= jQuery('#radio_form input:radio:checked').val();

答案 2 :(得分:1)

您是否尝试将val()与:checked选择器结合使用?

$('[name="a_15"]:checked').val();

至于根据值设置选择,您可能需要执行多属性测试吗?

$('[name="a_15"][value="xyz"]').get(0).checked = true;

答案 3 :(得分:0)

你在这里有正确的代码:

to run

to edit

正确的形式是:

$("input[name='a_15']:checked").val();

您可以使用上面的链接进行测试