2011-07-13 235 views
0

我有多個表單,每個單選按鈕組 基本上我只想讓用戶選擇一個選項之一。 在我的情況下,只允許有選擇一次jquery防止多選擇單選按鈕

您可以看到的行爲在下面的鏈接

  1. 選擇是在第一行選項(保持在NO - 我想要什麼)
  2. 選擇無選項上第二行
  3. 選擇是對第一行(允許的,因爲沒有其他選擇YES)選項
  4. 選擇是用於第二行的選擇(開關精選NO在第一行,而不是在沒有剩餘的)

似乎忽略在此行中的jquery代碼

$的選擇( '輸入:無線​​電[名稱= $(TMP)]]')[1] .checked = TRUE;

Running example

回答

2

你可以做這樣的事情:

$("input[name*='records']").click(function(e) { 
    var inputs = $("form input[type=radio][value=Y]:checked"); 
    if (inputs.length > 1){ 
     e.preventDefault(); 
    } 
}); 

小提琴這裏:http://jsfiddle.net/6EQHE/5/

+0

謝謝...從來沒有想過的preventDefault的() 方法。它不適用於更改事件,但點擊工作 – db83

0

將其更改爲:

$('input:radio[name=$(tmp)]]')[1].attr('checked', 'checked');