比如五个选项分别是1、2、3、4、5
如果选中1、2、3后又选择了4,那么1、2、3中有一项就会自动取消,就好像是radio的动作一样
请问可以实现吗?

解决方案 »

  1.   

    限制选三个很容易,你用一个变量技术就可以了.小弟不才,如果你想随机的让1,2,3中的一项自动取消,i can't . waiting.....
      

  2.   

    <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>
      

  3.   

    <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>