以编程方式选中值为$的单选按钮

4
以下是一个单选按钮组的定义:

<input type="radio" name="type0" value="$">$<input type="radio" name="type0" value="%">%

需要检查值为$的第一个单选按钮。

问题在于以下代码无法实现此目的。需要某种方式来转义$

$('input[type=radio][value=$]').attr('checked','checked');
4个回答

8
$('input[type=radio][value="$"]').first().attr('checked','checked');

-1 因为此解决方案将检查所有值为 $ 的单选按钮,而不仅仅是第一个,就像他要求的那样。 - FtDRbwLXw6
实际问题是“某种转义$符号的方式”,但我已经改变了答案。 - Alex

2

这对我有效,将选择器放在双引号中,将属性选择器放在单引号中。

$("input[type=radio][value='$']").attr('checked','checked');

http://jsfiddle.net/BuvKT/


-1 是因为这个解决方案将检查所有值为 $ 的单选按钮,而不仅仅是像他要求的那样检查第一个。 - FtDRbwLXw6
@drrcknlsn 啊!没错,但问题是如何转义 $ - Rafay
足够正确,但如果他在一页上有多个类似这样的单选组,您正在使用的代码(以及他尝试使用的代码)将选择所有值为$的单选组。 这可能不是所需的效果。 即使这是页面上唯一的组,也可以通过使用:first.first()来限定它,并/或在选择器中指定组名称[name="type0"],以防止未来出现错误。 - FtDRbwLXw6
@drrcknlsn 是的,"可能不是期望的效果"! - Rafay

2

-1 是因为这个解决方案将检查所有值为 $ 的单选按钮,而不仅仅是像他要求的那样检查第一个。 - FtDRbwLXw6
2
首先指的是从两个中的第一个。 - Samich
“Need to check the first radio button whose value = $”这句话的哪个部分让你认为他只想要其中的第一个? - FtDRbwLXw6
这句话上面的代码。无论如何,我已经添加了.first()来消除误解。谢谢。 - Samich
1
我猜你说得对,它可以有两种解释。去掉那个-1吧 :-) - FtDRbwLXw6

0
$('input[type="radio"][name="type0"][value="$"]:first').prop('checked', true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接