那么如何设置这最多的几个,我们就需要做些简单的脚本处理。以下代码均转摘自互联网,作者不详。 比如如下的代码则解决了相关问题: <SCRIPT LANGUAGE="JavaScript"> <!-- //checkbox元素的名字前缀,本例为sample1,sample2,sample3... var sCtrlPrefix = "sample"; //checkbox元素数量,本例有10个; var iMaxCheckbox = 10; //设置最大允许选择的数量; var iMaxSelected = 3; 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; ALERTXT="最多可选"+iMaxSelected+"个" alert(ALERTXT); } } // --> </SCRIPT> <form name="form" method="post"> <input type="CHECKBOX" name="sample1" onClick="doCheck(this)">A <input type="CHECKBOX" name="sample2" onClick="doCheck(this)">B <input type="CHECKBOX" name="sample3" onClick="doCheck(this)">C <input type="CHECKBOX" name="sample4" onClick="doCheck(this)">D <input type="CHECKBOX" name="sample5" onClick="doCheck(this)">E <input type="CHECKBOX" name="sample6" onClick="doCheck(this)">F <input type="CHECKBOX" name="sample7" onClick="doCheck(this)">G <input type="CHECKBOX" name="sample8" onClick="doCheck(this)">H <input type="CHECKBOX" name="sample9" onClick="doCheck(this)">I <input type="CHECKBOX" name="sample10" onClick="doCheck(this)">J </form> [Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行] 改代码最需要注意的是
和
checkbox元素的名字前缀和元素数量与页面中定义的稍有差错脚本即失效。 故有如下脚本函数以通用: <SCRIPT LANGUAGE="JavaScript"> var c=0,limit=3; function doCheck(obj) { obj.checked?c++:c--; if(c>limit)obj.checked=false,c--; } </SCRIPT> <form name="form" method="post"> <input type="CHECKBOX" name="sample1" onClick="doCheck(this)">A <input type="CHECKBOX" name="sample2" onClick="doCheck(this)">B <input type="CHECKBOX" name="sample3" onClick="doCheck(this)">C <input type="CHECKBOX" name="sample4" onClick="doCheck(this)">D <input type="CHECKBOX" name="sample5" onClick="doCheck(this)">E <input type="CHECKBOX" name="sample6" onClick="doCheck(this)">F <input type="CHECKBOX" name="sample7" onClick="doCheck(this)">G <input type="CHECKBOX" name="sample8" onClick="doCheck(this)">H <input type="CHECKBOX" name="sample9" onClick="doCheck(this)">I <input type="CHECKBOX" name="sample10" onClick="doCheck(this)">J </form> [Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行] <SCRIPT LANGUAGE="JavaScript"> var c=0,limit=3; ALERTXT="最多可选"+limit+"个" function doCheck(obj) { obj.checked?c++:c--; if(c>limit)obj.checked=false,c--,alert(ALERTXT); } </SCRIPT> <form name="form" method="post"> <input type="CHECKBOX" name="sample1" onClick="doCheck(this)">A <input type="CHECKBOX" name="sample2" onClick="doCheck(this)">B <input type="CHECKBOX" name="sample3" onClick="doCheck(this)">C <input type="CHECKBOX" name="sample4" onClick="doCheck(this)">D <input type="CHECKBOX" name="sample5" onClick="doCheck(this)">E <input type="CHECKBOX" name="sample6" onClick="doCheck(this)">F <input type="CHECKBOX" name="sample7" onClick="doCheck(this)">G <input type="CHECKBOX" name="sample8" onClick="doCheck(this)">H <input type="CHECKBOX" name="sample9" onClick="doCheck(this)">I <input type="CHECKBOX" name="sample10" onClick="doCheck(this)">J </form> [Ctrl+A 全部选择进行拷贝 提示:可先修改部分代码,再点击运行] |
转载于:https://www.cnblogs.com/wifi/articles/2398230.html