首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp复选框全选的有关问题

2013-01-18 
jsp复选框全选的问题jsp中:input typecheckbox nameseatresult value0 onclickcheck_all()/

jsp复选框全选的问题
jsp中:
<input type="checkbox" name="seatresult" value="0" onclick='check_all();'/>全选
<ul class="messageright">
<c:forEach items="${seatlist1}" var="v"> 
<li> <input type="checkbox" property="seatresult" name="seatresult" value="${v.ext}">${v.ext}${v.name}</li>
  </c:forEach>
<div class="clear"></div>
</ul>
<script >
 var check=true;
 
function check_all(){ 
     
   if(check==false)
   {  
     arr   =   document.getElementsByName("seatresult");   
     for(i=0;i<arr.length;i++){         
     arr[i].checked   =   false   
             }     
       
            check=true; 
         } else{  
        arr   =   document.getElementsByName("seatresult");   
          for(i=0;i<arr.length;i++){      
          arr[i].checked   =   true  
                       }    
                    check=false;  
                  } 
               }



</script>
action中:
private  String[] seatresult; 并提供set和get方法

public ActionForward saveMessage(){
seatresult=StrutsEnv.getRequest().getParameterValues("seatresult");

StringBuffer sb=new StringBuffer();
for (String string : seatresult) {

sb.append(string+"#");
}
String newsb=sb.toString();

if(newsb.startsWith("")){

newsb="#"+newsb;

}
现在的问题就是在jsp保存的时候 页面提示错误:对象不支持此属性或方法,请大家帮忙看看







 
[解决办法]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
   <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   <title></title>
   <script type="text/javascript">
      function allSelect() {
         var flag = document.getElementById("all").checked;
         var cbs = document.getElementsByTagName("input");
         for(var i=0;i<cbs.length;i++) {


            cbs[i].checked=flag;
            if(cbs[i].getAttribute("id") == "reverse") {
               cbs[i].checked = false;
            }
         }
      }
      function reverseSelect() {
         var cbs = document.getElementsByTagName("input");
         for(var i=0;i<cbs.length;i++) {
            cbs[i].checked = !cbs[i].checked;
            if(cbs[i].getAttribute("id")=="all") {
               cbs[i].checked = false;
            }
         }
      }
   </script>
</head>
<body>
   <h1>您喜欢的计算机品牌</h1>
   <input id="" name="" type="checkbox">苹果<br>
   <input id="" name="" type="checkbox">索尼<br>
   <input id="" name="" type="checkbox">三星<br>
   <input id="" name="" type="checkbox">华硕<br>
   <input id="" name="" type="checkbox">宏碁<br>
   <input id="all" name="" type="checkbox" 
               onchange="allSelect();">全选
   <input id="reverse" name="" type="checkbox" 
               onchange="reverseSelect();">反选
</body>
</html>


意思没理解,提供一个差不多的例子你照着改改吧。。
[解决办法]
目测,arr没有定义。JS应该写的有问题,而且,是否全选应该根据你
<input type="checkbox" name="seatresult" value="0" onclick='check_all();'/>全选
这个东西的值来判断吧。
[解决办法]
/**
 * 全部选中或全部取消
 * @param isSelected  true表示选中,false表示未选中。
 *  jsp中多选框的name全部为AllIDS
 */
function check_All(isSelected) {
    var checkBoxList = document.getElementsByName("AllIDS");
    if (isSelected) {
        for ( var i = 0, n = checkBoxList.length; i < n; i++) {
            checkBoxList[i].checked = "checked";
        }
    } else {
        for ( var i = 0, n = checkBoxList.length; i < n; i++) {
            checkBoxList[i].checked = false;
        }
    }
}


[解决办法]
复选框取值:
        var chk_value =[];    
$('input[name="department"]:checked').each(function(){    
  chk_value.push($(this).val());    
});
<input type="checkbox" name="department" value="A">
<input type="checkbox" name="department" value="B">
<input type="checkbox" name="department" value="C">
...

热点排行