2009-12-31 129 views
0
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_1" value="1" />Public 
     <input type="radio" name="radio_1" value="2" />Not Public 
     <input type="radio" name="radio_1" value="3" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_2" value="1" />Public 
     <input type="radio" name="radio_2" value="2" />Not Public 
     <input type="radio" name="radio_2" value="3" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_3" value="1" />Public 
     <input type="radio" name="radio_3" value="2" />Not Public 
     <input type="radio" name="radio_3" value="3" />Confidential 
    </td> 
</tr> 

喜,檢查單選按鈕值檢查

如果我選擇單選按鈕的第一行中的第一個選項。在第二行我不檢查第一個選項,因爲第一個選項已經在第一行檢查..我需要一個jQuery驗證這個

請別人幫我!

+0

看來你真的想讓用戶優先考慮值的列表。像「公共」一樣,「機密」 - 第二等是這樣的任務嗎? – 2009-12-31 14:07:29

+0

如果你能夠使用javascript,那麼這很簡單。這是一個選擇嗎? – ChadNC 2009-12-31 14:19:02

回答

0

我想最簡單的方法是在jQuery來檢查的點擊動作

所以你會..

$(input[type=radio]).click(function() { 
    //Store THIS object 
    var $this = $(this); 

    //Get the id of this radio button 
    var $id = $this.attr('id'); 

    //If radio button is selected 
    if($this.is(':selected') { 

    //Disable all other radio buttons with this id. 
    $('#' + $id).changeClass("disabled"); 

    } else { 
    //Else it is being unselected, so enable radio buttons with id. 
    $('#' + $id).changeClass("enabled"); 
    } 
}; 

的幾點..

  • 林不知道如果if($this.is(':selected')是檢查單選按鈕的最佳方法,但類似的方法適用於複選框
  • 而不是更改類y你可能想要改變屬性或css屬性。
2

您需要重新排列單選按鈕的名稱/值。

<tr> 
    <td align="left"> 
     <input type="radio" name="radio_1" value="1" />Public 
     <input type="radio" name="radio_2" value="1" />Not Public 
     <input type="radio" name="radio_3" value="1" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_1" value="2" />Public 
     <input type="radio" name="radio_2" value="2" />Not Public 
     <input type="radio" name="radio_3" value="2" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_1" value="3" />Public 
     <input type="radio" name="radio_2" value="3" />Not Public 
     <input type="radio" name="radio_3" value="3" />Confidential 
    </td> 
</tr> 

該值現在表示順序而不是名稱。這很容易。不需要JS驗證。

+0

真棒!就是那種精神 – 2009-12-31 15:24:52

1

如果我沒有理解錯這應該工作

function valForm(form) { 
var btn1 = parseInt(form.radio_1.value, 10) || 0; 
var btn2 = parseInt(form.radio_2.value, 10) || 0; 
var btn3 = parseInt(form.radio_3.value, 10) || 0; 
btn = (btn1 + btn2 + btn3) 
if (btn < 3) alert('Select a button, homie'); 
else alert('Button value ' + btn + ' selected'); 
} 

on jsfiddle.因爲3是,如果所有的複選框被選中,我們檢查,如果BTN在不到3個或更多的最小可能值。

<head> 
<script type="text/javascript"> 
function valForm(form) { 
var btn1 = parseInt(form.radio_1.value, 10) || 0; 
var btn2 = parseInt(form.radio_2.value, 10) || 0; 
var btn3 = parseInt(form.radio_3.value, 10) || 0; 
btn = (btn1 + btn2 + btn3) 
if (btn < 3) alert('Select a button, homie'); 
else alert('Button value ' + btn + ' selected'); 
} 
</script> 

</head> 
<body> 
<form name="theatomicform"> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_1" value="1" />Public 
     <input type="radio" name="radio_1" value="2" />Not Public 
     <input type="radio" name="radio_1" value="3" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_2" value="1" />Public 
     <input type="radio" name="radio_2" value="2" />Not Public 
     <input type="radio" name="radio_2" value="3" />Confidential 
    </td> 
</tr> 
<tr> 
    <td align="left"> 
     <input type="radio" name="radio_3" value="1" />Public 
     <input type="radio" name="radio_3" value="2" />Not Public 
     <input type="radio" name="radio_3" value="3" />Confidential 
    </td> 
</tr> 
<input value="Validate" type="button" onClick="valForm(theatomicform)"> 
</form> 
</body>