2010-08-11 153 views
0

我如何让用户只检查其中一个复选框..除了禁用选择框上的复选框,还有其他方法吗?限制选择复选框

<td width="25%"><input type="checkbox" name="choice" value="Good" />Good</td> 
<td width="25%"><input type="checkbox" name="choice" value="Average" />Average</td> 
<td width="25%"><input type="checkbox" name="choice" value="Sucks" />Sucks</td> 
<td width="25%"><input type="checkbox" name="choice" value="Fascinating" />Fascinating</td> 

如果它在JavaScript,请简单理解..

+2

怎么会“吸”其次是“迷人的” ........ – kennytm 2010-08-11 09:54:37

+1

是,使用单选按钮 - 这就是他们什么(http://www.w3schools.com /html/tryit.asp?filename=tryhtml_radio) – 2010-08-11 09:54:55

回答

5

你正在寻找一个radio button group

<td width="25%"><input type="radio" name="choice" value="Good" />Good</td> 
<td width="25%"><input type="radio" name="choice" value="Average" />Average</td> 
<td width="25%"><input type="radio" name="choice" value="Sucks" />Sucks</td> 
<td width="25%"><input type="radio" name="choice" value="Fascinating" />Fascinating</td> 
+0

+1,darnit!打败我3秒:-P下面是OP的一个例子:http://jsfiddle.net/avXs3/ – 2010-08-11 09:57:14

+0

@Andy我打算回复说我的速度更快,因为我实际上有*手*键入,但是然后我看着你的用户名。很高兴看到你有你的身体回来! :) – 2010-08-11 09:58:31

+0

@皮卡:什么,这个老东西?是的,这不是我的,我只是借了它;) – 2010-08-11 10:01:48

0

如果用户只能同时选择其中的一个,你应该使用<input type="radio">而不是checkbox

如果必须使用checkbox,尝试(example):

var choices = document.getElementsByName('choice'); 

for (var i = choices.length-1; i >= 0; -- i) { 
    choices[i].onclick = function() { 
    for (var j = choices.length-1; j >= 0; -- j) { 
     if (choices[j] != this) 
     choices[j].checked = false; 
    } 
    } 
}