不按shift也是多选的啊,什么意思呢?

解决方案 »

  1.   

    他的意思可能是他選擇一個範圍,範圍内的checkbox就全部選擇了?
      

  2.   

    比方说,有一组checkbox, 先点第一个checkbox,然后按下shift键,再点第10个checkbox,第一到第十个checkbox都变成选中状态。
      

  3.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function ock_check(){
    var obj=document.all.frm1.all("c");
    var iSum=0;
    var myArray = new Array(obj.length);
    for(var i=0;i<obj.length;i++){
    if(obj[i].checked==true){
    iSum++;
    myArray[i]=i+1;
    }else{
    myArray[i]=0;
    }
    }
    if(iSum==2){
    var i=0;
    var arrChkbox = new Array(2);
    for(var j=0;j<myArray.length;j++){
    if(myArray[j]!=0){
    arrChkbox[i]=myArray[j]-1;
    i++;
    }
    }
    for(var ch=arrChkbox[0];ch<arrChkbox[1];ch++){
    obj[ch].checked=true;
    }
    }
    return false;
    }
    //-->
    </SCRIPT>
    <FORM METHOD=POST ACTION="xxx.asp" name="frm1" onsubmit="return ock_check()"><%
    For i=1 To 20

    Response.write i&":<INPUT TYPE='checkbox' NAME='c'>&nbsp;&nbsp;"
    If i Mod 5 = 0 Then
    Response.write "<BR>"
    End if
    Next
    %>
    <BR><INPUT TYPE="submit" value="check" >
    </FORM>
      

  4.   

    看看这个合不合你的要求<SCRIPT LANGUAGE="JavaScript">
    <!--
    var isShiftKeyDown=false;//是否shift按下
    var lastClk=null;//最后点击的checkbox对象
    var lastCheck=false;//最后选择的checkbox的状态
    var isMultiSel = false;//是否处于多选状态
    var startIndex = -1;//记录上次多选状态起始index
    var endIndex = -1;//记录上次多选状态结束indexfunction chkClk(chkObj){
    var chks=frm1.elements("chk");
    if(isShiftKeyDown){
    if(!lastClk) lastClk = chks[0];
    if(isMultiSel)
    for(var i=startIndex;i<=endIndex;i++)
    chks[i].checked = !lastCheck;
    var startChk = lastClk;
    var endChk = chkObj;
    if(lastClk.sourceIndex > chkObj.sourceIndex){
    var temp = startChk;
    startChk = endChk;
    endChk = temp;
    }
    for(var i=0;i<chks.length;i++){
    if(chks[i] == startChk)
    startIndex=i;
    if(chks[i] == endChk){
    endIndex=i;
    break;
    }
    }
    for(var i=startIndex;i<=endIndex;i++)
    chks[i].checked = lastCheck;
    isMultiSel = true;
    }else{
    lastClk = chkObj;
    isMultiSel = false;
    }
    lastCheck = chkObj.checked;
    }
    document.onkeydown=function(){
    if(event.keyCode==16)
    isShiftKeyDown=true;
    }
    document.onkeyup = function(){
    if(event.keyCode==16)
    isShiftKeyDown=false;
    }
    //-->
    </SCRIPT>
    <FORM METHOD=POST ACTION="xxx.asp" name="frm1" onsubmit="return ock_check()">
    <script language="JavaScript">
    <!--
    for(var i=0;i<10;i++)
    document.write('<input type="checkbox" name="chk" onclick="chkClk(this)"> '+i+'<br>');
    //-->
    </script>
    <BR><INPUT TYPE="submit" value="check" >
    </FORM>