怎样限制选中复选框的数量?

sealike 2003-10-15 05:50:09
比如页面中有5个复选框(同名或不同名都可以),限制浏览者只能选择三个
...全文
273 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sealike 2003-10-21
  • 打赏
  • 举报
回复
看来高手不仅是技术上的高手,更要思路上的高手
谢了!
cloudchen 2003-10-17
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript">
var c=0,limit=5;
function limitCheck(obj) {
obj.checked?c++:c--;
if(c>limit)obj.checked=false,c--;
}
</SCRIPT>
<form>
<script>
for (var i=0;i<20;i++) {
document.write("<input type='checkbox' name='xx' onclick='limitCheck(this)'>")
}
</script>
</form>
sealike 2003-10-16
  • 打赏
  • 举报
回复
是随便的取消一个
blueice2002 2003-10-16
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript">
<!--
//checkbox元素的名字前缀,本例为sample1,sample2,sample3...
var sCtrlPrefix = "sample";
//checkbox元素数量,本例有18个;
var iMaxCheckbox = 18;
//设置最大允许选择的数量;
var iMaxSelected = 5;

function doCheck(ctrl) {
var iNumChecked = 0;
var thisCtrl;
var i;

//初始化
i = 1;
//循环直到选中了最多的checkbox;
while ((i <= iMaxCheckbox) && (iNumChecked <= iMaxSelected)) {

thisCtrl = eval("ctrl.form." + sCtrlPrefix + i);

if ((thisCtrl != ctrl) && (thisCtrl.checked)) {

iNumChecked++;
}

i++;
}

// 检查是否达到了最大选择数量;
if (iNumChecked == iMaxSelected) {
// 如果是则uncheck刚选择的元素;
ctrl.checked = false;
}
}
// -->
</SCRIPT>


<form name="form" method="post">
<table align="center" border="1" cellpadding="5" cellspacing="0">
<tr>
<td>
<input type="CHECKBOX" name="sample1" onClick="doCheck(this)">
A</td>
<td>
<input type="CHECKBOX" name="sample2" onClick="doCheck(this)">
B</td>
<td>
<input type="CHECKBOX" name="sample3" onClick="doCheck(this)">
C</td>
</tr>
<tr>
<td>
<input type="CHECKBOX" name="sample4" onClick="doCheck(this)">
D</td>
<td>
<input type="CHECKBOX" name="sample5" onClick="doCheck(this)">
E</td>
<td>
<input type="CHECKBOX" name="sample6" onClick="doCheck(this)">
F</td>
</tr>
<tr>
<td>
<input type="CHECKBOX" name="sample7" onClick="doCheck(this)">
G</td>
<td>
<input type="CHECKBOX" name="sample8" onClick="doCheck(this)">
H</td>
<td>
<input type="CHECKBOX" name="sample9" onClick="doCheck(this)">
I</td>
</tr>
<tr>
<td>
<input type="CHECKBOX" name="sample10" onClick="doCheck(this)">
J</td>
<td>
<input type="CHECKBOX" name="sample11" onClick="doCheck(this)">
K</td>
<td>
<input type="CHECKBOX" name="sample12" onClick="doCheck(this)">
L</td>
</tr>
<tr>
<td>
<input type="CHECKBOX" name="sample13" onClick="doCheck(this)">
M</td>
<td>
<input type="CHECKBOX" name="sample14" onClick="doCheck(this)">
N</td>
<td>
<input type="CHECKBOX" name="sample15" onClick="doCheck(this)">
O</td>
</tr>
<tr>
<td>
<input type="CHECKBOX" name="sample16" onClick="doCheck(this)">
P</td>
<td>
<input type="CHECKBOX" name="sample17" onClick="doCheck(this)">
Q</td>
<td>
<input type="CHECKBOX" name="sample18" onClick="doCheck(this)">
R</td>
</tr>
</table>
</form>
WebDeveloper 2003-10-15
  • 打赏
  • 举报
回复
取消的那个有什么限制么?
是随即的取消一个?
slumcherry 2003-10-15
  • 打赏
  • 举报
回复
sorry ,是计数
slumcherry 2003-10-15
  • 打赏
  • 举报
回复
限制选三个很容易,你用一个变量技术就可以了.

小弟不才,如果你想随机的让1,2,3中的一项自动取消,i can't .

waiting.....
sealike 2003-10-15
  • 打赏
  • 举报
回复
比如五个选项分别是1、2、3、4、5
如果选中1、2、3后又选择了4,那么1、2、3中有一项就会自动取消,就好像是radio的动作一样
请问可以实现吗?
slumcherry 2003-10-15
  • 打赏
  • 举报
回复
具体些???
任意的三个,还是按顺序的三个?

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧