2011-04-26 502 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