<tr>
    <td><input type="CHECKBOX" name="date" value="time">按时间</td>
    <td>
        <select name="dateType"/>
     <option value="1">时间1/option>
           <option value="2">时间2/option>
           <option value="3">时间3/option>
           <option value="4">时间</option>
  </select>
    </td>
</tr>
<td><input type="CHECKBOX" name="sendname" value="shr">送货人</td>
<td>
   <select name="shrXm"/>
     <option value="送单员1">送单员1</option>
           <option value="送单员2">送单员2</option>
   </select>
</td>我的源码类似以上这个样子,我想用JavaScript判断checkbox是否选中(在页面上有至少10种checkbox),然后去取checkbox选中的值,有可能checkbox有多个同时被选中的情况,也就是说选中情况有交集,请高手解决如何实现,提供个思路也成

解决方案 »

  1.   

    给个例子,其他都差不多,一个个来吧 function foo(){
    var cbxDate = document.getElementsByName('date')[0];
    if(cbxDate.checked){
    var selDateType = document.getElementsByName('dateType')[0];
    alert(selDateType.value);
    }
                    // .....
    }
      

  2.   

    <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    </head>  
    <body onload="init()">  
    <script type="text/javascript">
    function init(){
    document.getElementById("dateType").setAttribute('disabled',true);
    document.getElementById("shrXm").setAttribute('disabled',true);
    }
    function setDateType(){
    if(document.getElementById("date").checked==false){
    document.getElementById("dateType").setAttribute('disabled',true);
    }else{
    document.getElementById("dateType").setAttribute('disabled',false);
    }
    }
    function setSendname(){
    if(document.getElementById("sendname").checked==false){
    document.getElementById("shrXm").setAttribute('disabled',true);
    }else{
    document.getElementById("shrXm").setAttribute('disabled',false);
    }
    }
    </script>
    <tr>
    <td><input type="CHECKBOX" name="date" id="date" value="time" onclick="setDateType()">按时间</td>
    <td>
    <select name="dateType" name="dateType"/>
    <option value="1">时间1</option>
    <option value="2">时间2</option>
    <option value="3">时间3</option>
    <option value="4">时间4</option>
    </select>
    </td>
    </tr>
    <td><input type="CHECKBOX" name="sendname" id="sendname" value="shr" onclick="setSendname()">送货人</td>
    <td>
    <select name="shrXm" id="shrXm"/>
    <option value="送单员1">送单员1</option>
    <option value="送单员2">送单员2</option>
    </select>
    </td>    
    </body>    
    </html>然后表單提交到后臺 判斷前臺 2個 checkbox是否被選中
    如果選中就取值,沒有選中就不取值。
      

  3.   

    你用document.getElementByName()取Checkbox的name值.返回的是数组,所有checkbox的对像.在去判断是否选中
      

  4.   

    后台直接 request.getParameterValues("dateType");不就可以获得选中的复选框的value了  ?
      

  5.   


    <script type="text/javascript">
    function isChecked(){
    var ches = document.getElementsByName("che");
    var j = 0;
    var str;
    for(var i = 0;i < ches.length;i++){
    if(ches[i].checked){
    j++;
    ches[i].value = str;
    }
    if(j > 0){
    alert(str);
    }
    }
    }
    </script>
    <td><input type="checkbox" name="che" id="date" value="time">按时间</td>
    <td><input type="checkbox" name="che" id="sendname" value="shr">送货人</td>
      

  6.   


    那前面你打勾不打勾又有什么用。
    樓主要打勾 才選,不打勾 不選。我2樓補充后臺代碼:<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%
    String date= request.getParameter("date");//判斷是否打勾
    if(date!=null){//打勾就進行下面取值,下面一樣。
    out.println(request.getParameter("dateType"));
    }String sendname=request.getParameter("sendname");
    if(sendname!=null){
    out.println(request.getParameter("shrXm"));
    }
    %>
    PS:中文處理樓主你該會的 我就不做了。
      

  7.   

    javascript判斷是否選中:document.forms[0].date去得到值,然後租判斷啊!後臺取值:
    String chkObj=request.getParameter("dateType");
    String obj="";
    if(chkObj!=null)
    {
       if(chkObj.length>=1)
      {
        for(int i=0;i<chkObj.length;i++)
        {
           if(i==chkObj.length-1){
              obj+=chkObj[i];
           }else{
              obj+=chkObj[i]+",";
           }
         }
           }
    }
           
      

  8.   


    function BoxChecked() {
      var chkbox = document.getElementsByTagName("input");
      var cnt=0;
      for(var i=0;  i < chkbox.length; i++) {
      var chk_e = chkbox[i];
     
      if(chk_e.type=="checkbox")
      cnt = cnt+1; //获取CHECKBOX数量
      }
     
            //逐个检查checkBox
      for(var j=0; j < cnt; j++) {
      if(chkbox[j+1].checked){
      var option = document.getElementsByTagName("select")[j];
      alert(option.value);
      }
      }
    }
      

  9.   

    不是很明白!
    要是就是要去checkbox的值,直接遍历就好了!