0

我有 3 组单选按钮,同时选择其中任何一个我必须获得该单选的值。

我正在使用以下代码

Daily<input type="radio" id="rad" value="daily" />
Weekly<input type="radio" id="rad" name="case" value="weekly"/>
None<input type="radio" id="rad" name="case" value="none"/>
alert("rad------"+$('#rad').val());

它仅在第一次提醒单选按钮值,并且多个单选按钮似乎已被选中。

4

3 回答 3

3

元素的 id 必须是唯一的,因此在这种情况下,您需要找到带有名称的选中单选按钮case

为此,您可以使用属性等于选择器:checked 选择器

Daily <input type="radio" id="rad" name="case" value="daily" />
Weekly <input type="radio" id="rad" name="case" value="weekly" />
None <input type="radio" id="rad" name="case" value="none" />

alert("rad------"+$('input[type="radio"][name="case"]:checked').val());
于 2013-10-03T06:50:07.857 回答
2

您的问题可能在于您如何检测事件的变化,您可以执行以下操作:

$('container input:radio').click(function(){
    alert("rad------"+$(this).val());
});

笔记

:radio 是 [type=radio] 的缩写

用容器替换容器,或者在您的示例中使用 input#radio 。通常,将相同的 id 分配给一堆输入并不是一个好主意

于 2013-10-03T06:54:04.943 回答
0

只是为了成为一个书呆子 - 正如 Arun P Johny 所写的那样,ID 必须是唯一的,但在他的示例中,他留下了重复的 ID。

它应该是:

Daily <input type="radio" name="case" value="daily" />
Weekly <input type="radio" name="case" value="weekly" />
None <input type="radio" name="case" value="none" />
alert("rad------"+$('input[type="radio"][name="case"]:checked').val());

请参阅两个单选按钮共享一个“id”?更多细节。

于 2014-07-17T15:31:13.630 回答