2011-04-26 167 views
5
<input type="radio" value="True" propertyname="AmortizationTermInYears" onchange="showAmortizationTermInYears();UpdateField(this);" name="AmortizationTermInYears" id="AmortizationTermInYears" amortizationterminyearsradio="true"> 

<input type="radio" value="False" propertyname="AmortizationTermInYears" onchange="showAmortizationTermInYears();UpdateField(this);" name="AmortizationTermInYears" id="AmortizationTermInYears" checked="checked"> 

如何在页面加载时使用Jquery选择其中一个单选按钮?用jquery选择单选按钮

谢谢!

+2

你究竟想要做什么?你想选择哪一个?为什么他们有相同的ID?事情永远不应该有相同的ID! – Patricia 2011-04-26 14:44:44

+0

我认为他们有相同的想法,因为HTML助手扩展方法,但我想检查具有“真实”值的那个 – slandau 2011-04-26 14:46:45

回答

10
$('input[name=AmortizationTermInYears]:nth(0)').prop("checked","checked"); 
+1

调用此代码只能工作一次。如果你打电话给这个,那么用户检查一个不同的电话号码,如果你第二次打这个电话,它将不起作用。 – 2013-12-27 19:51:29

+0

使用attr而不是prop可能在发布上述答案时已经有效。但这不再是正确的。低头看看Serj Sagan提供的正确答案。 – Martin 2014-01-09 16:19:56

+0

更改为.prop – Khodor 2014-01-10 13:02:55

1
$('input[name=AmortizationTermInYears]'); 

$('input[name=AmortizationTermInYears]:checked'); 
9

这将这样的伎俩:

$(document).ready(function() { 
    $("input[name='AmortizationTermInYears'][value='True']").attr("checked", "checked"); 
}); 

您需要按名称和值来搜索然后设置checked属性。

Live test case

+0

也可以工作:) – slandau 2011-04-26 14:59:04

+1

@slandau:对于记录,如果具有“True”值的单选按钮将是第二个,则您接受的答案将失败。 – 2011-04-26 15:07:13

+0

我知道,哈哈。感谢 – slandau 2011-04-26 15:08:19

2

“id”属性不应再次使用。您已将id =“AmortizationTermInYears”给予两个单选按钮。根据标准来看是错误的。为两个单选按钮设置不同的ID。

您也可以通过指定的ID选择单选按钮:

$('#AmortizationTermInYears').attr("checked", "checked"); 
3

虽然问题主要是关于如何选择一个元素,我发现大家都在用的attr()功能而不同,通常,这是错误的因为调用这个函数只能工作一次。如果你打电话给这个,那么用户检查一个不同的电话号码,如果你第二次打这个电话,它将不起作用。正确的方法是使用prop()

$('input[name=AmortizationTermInYears]:nth(0)').prop('checked', true); 
+0

+1。这解决了我们的问题。 – Pradeep 2014-02-13 09:41:02