小弟用JS做了个全选功能!但是当记录数为1条记录时。调用此方法报如下错:
源码如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.common.module.*" %>
<% 
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String divId = (String)request.getAttribute("divId");
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>客户选择</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<link rel="stylesheet" type="text/css" href="./inc/table.css">

<link rel="stylesheet" type="text/css" href="./css/dtree.css">
<script type="text/javascript" src="./js/webdtree.js"></script>
<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript" src="./js/main.js"></script>
<script type="text/javascript">

</script>
  </head>
  <script type="text/javascript">
   function check_all(obj)
{
  alert("条数="+obj.length);
for(var o = 0;o<obj.length;o++)
{
if(obj[o].checked == true)
{
obj[o].checked = false;
}else 
{
obj[o].checked = true;
}
}
}
function getCheckUser(obj)
{
var result='' ;
var divId = <%=divId%>;
for(var i = 0;i<obj.length;i++)
{
if(obj[i].checked== true)
{
result+=divId+'/'+obj[i].value;
result= result+';';
}
}
var lastResult = result.substring(0,result.length-1);
window.opener.setUser(lastResult,divId);
window.close();
}
  </script>
  <body>
    <form action=""  id="formList" name="formList" method="post" >
    <div id=result></div>
     <table class="tableAdd">
          <TR class="listTop">
<TD colspan="10">
客户信息
</TD>
    </TR>
     <tr>
     <td class="addRight">
     <input type=checkbox name="checkAll" id="checkAll" onClick="check_all(formList.smsName)">
     </td>
     <td class="addRight">
     客户名称
     </td>
     <td class="addRight">
所属二级目录
     </td>
     <td class="addRight">
所属三级目录
     </td>
     <td class="addRight">
手机号码
     </td>
     <td class="addRight">
职务
     </td>
     </tr>
     <%
     //Hashtable htDiv = (Hashtable)request.getAttribute("htDiv");
    
    
     ArrayList customerList = (ArrayList)request.getAttribute("customerList");
     for(int i = 0;i<customerList.size();i++)
     {
     Customer customer = (Customer)customerList.get(i);
     %>
     <tr>
     <td class="addRight">
     <input type=checkbox id="smsName" name="smsName"  value="<%=customer.getCus_id() %>">
     </td>
     <td class="addRight">
     <%=customer.getCustomer() %>
     </td>
     <td class="addRight">
 <%=customer.getDiv().getOffice().getOffname() %>
     </td>
     <td class="addRight">
<%=customer.getDiv().getDivname() %>
     </td>
     <td class="addRight">
<%=customer.getTell() %>
     </td>
     <td class="addRight">
<%=customer.getPost() %>
     </td>
     </tr>
     <%
     }
     %>
    
    
          <tr class="addBottom">
             <td  colspan="10" align="center" nowrap>
             <input type=button value="确定" class="but2" onclick="getCheckUser(document.formList.smsName)">
     <input type="button" value="取消" class="but2" onclick="window.close()">
     </td>
     </tr>
     </table>
    </form>
  </body>
</html>
小弟谢谢了!急…………在线等!

解决方案 »

  1.   

    <input type=button value="确定" class="but2" onclick="getCheckUser(document.getElementsByName('smsName'))">
      

  2.   


    <input type=checkbox name="checkAll" id="checkAll" onClick="check_all(formList.smsName)">
    formList.smsName前面加个document
      

  3.   


    一个得话
    function check_all(checkCollection)
    {
    var obj=checkCollection;
    if(!obj.length){
    obj=new Array();
    obj.push(checkCollection);
    }
    for(var o = 0;o<obj.length;o++)
    {
    if(obj[o].checked == true){
    obj[o].checked = false;
    }else{
    obj[o].checked = true;
    }
    }
      

  4.   

    在jquery中有这样一个方法$("input[type=checkbox]").each(function(){
        $(this).attr("checked",true);
    });
      

  5.   


    LZ 用的JS 用这个就可以了