Java中checkbox实现跨页多选的方法

最近要实现一个功能,就是checkbox跨页多选,在网上看了一下,资料很少,而且大多是不完全的。不过经过我的努力,终于做出来了。

JSP页面:

1,定义三个Hidden变量:

<INPUT type="hidden" name="all_selected">
<INPUT type="hidden" name="now_selected">
<INPUT type="hidden" name="no_selected">  

2,javascript

// 获取checkbox信息,选中,未选中,当前选中
    function getCheckBoxInformation() {
     var checkboxes = document.getElementsByName("checkbox");
     var checkedStr = "";
     var uncheckedStr = "";
     var url = "";
     for(var i = 0; i < checkboxes.length; i++) {
       var checkbox = checkboxes[i];
       if(checkbox.checked) {
        checkedStr = checkedStr + "," + checkbox.value;
      }else {
        uncheckedStr = uncheckedStr + "," + checkbox.value;
      }
    }
    document.form1.now_selected.value = checkedStr;
    document.form1.no_selected.value = uncheckedStr;
   }
 // 页面onload的时候计算当前页被选中项,并在页面表示
   function initPage() {
     var all_selected = document.form1.all_selected.value;
     if(all_selected != "" && all_selected!= null) {
       var arrall_select = all_selected.split(",");
       if(arrall_select.length > 0) {
         for(var k = 0; k < arrall_select.length; k++) {
            for(var i = 0; i < document.form1.checkbox.length; i++) {
               if(document.form1.checkbox[i].value == arrall_select[k]) {
               document.form1.checkbox[i].checked = true;
             }
           }
         }
       }
     }
    }  

每次翻页的时候调用getCheckBoxInformation()方法,页面加载的时候调用initPage()方法.

在后台,每次翻页时调用方法

public String doubleSpread(String all_select, String now_selected, String no_selected) {
    //获取当前选中的项目加入al
    List al = new ArrayList();
    if(all_select != "" && all_select != null)
    {
      String[] all_select_str = all_select.split(",");
      for(int a=0;a<all_select_str.length;a++)
      {
        al.add(all_select_str[a]);
      }
    }
    //将当前选中项目加入列表
    if (now_selected != "" && now_selected != null) {
      String[] all_now_select = now_selected.split(",");
      for (int i = 1; i < all_now_select.length; i++) {
        if (!al.contains(all_now_select[i])) {
          al.add(all_now_select[i]);
        }
      }
    }
    //将当前未选中项目从列表中删除
    if (no_selected != "" && no_selected != null) {
      String[] all_now_no_select = no_selected.split(",");
      for (int i = 1; i < all_now_no_select.length; i++) {
        if (al.contains(all_now_no_select[i])) {
          al.remove(all_now_no_select[i]);
        }
      }
    }
    all_select=al.toString().replaceAll(" +","");;
    all_select=all_select.substring(1,all_select.length()-1)+",";
    return all_select;
  } 

将此方法返回的all_select再传到JSP页面上并赋值给那个隐藏域,到此,功能就实现了。

以上所述是小编给大家介绍的Java中checkbox实现跨页多选的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2017-01-18

php一次性删除前台checkbox多选内容的方法

复制代码 代码如下: SQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开. 表单: 复制代码 代码如下: <form action="?action=doing" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]&qu

CheckBoxList多选样式jquery、C#获取选择项

复制代码 代码如下: .checkboxlist label { margin-right: 20px; } 复制代码 代码如下: var label; $("#ddlplatform input:checkbox:checked").each(function () { label += $(this).next().html(); }); 复制代码 代码如下: <asp:CheckBoxList ID="ddlplatform" runat="s

用 Javascript 验证表单(form)中多选框(checkbox)值

本文介绍了一个较为通用的获取 checkbox 值的方法,希望对新手有用. 复制代码 代码如下: <script type="text/javascript"> // 说明: 用 Javascript 验证表单(form)中多选框(checkbox)的值 // 作者: CodeBit function getCheckboxValue(checkbox) { if (!checkbox.length && checkbox.type.toLowerCase(

input:checkbox多选框实现单选效果跟radio一样

最近遇到一个小小的问题,就是有时候我们使用单选radio的时候,会发现当我们选中一个之后,再也无法一个都不选了,即选中后没有取消的功能,此时便想到了功能强大的checkbox,但他是多选,怎么才能让他变成单选,效果跟radio一样呢,本菜鸟就自己写了个小程序,代码很简单,只有四行. 废话不多说,直接代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w

checkbox 多选框 联动实现代码

父类 复制代码 代码如下: <input type="checkbox" name="father" forcheckboxgroup="groupname1"/> 子类 复制代码 代码如下: <input type="checkbox" name="son" group="groupname1"/> 实现代码 复制代码 代码如下: <script type

Android checkbox的listView(多选,全选,反选)具体实现方法

布局文件:[html]  复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="fill_parent"      android:layout_height=

Android 中使用EditText 点击全选再次点击取消全选功能

最近在开发浏览器碰到这么一个需求:点击地址栏的时候,需要全选并调出键盘,再次点击就取消全选显示光标.点击屏幕除地址栏其他位置时,键盘隐藏,隐藏光标. 大部分浏览器都是这样的逻辑,这样可以提高用户体验,减少操作. 代码很简单,这里我简化了逻辑,页面只有一个EditText. 布局文件如下:里面有两个属性需要注意 android:focusable="true" android:selectAllOnFocus="true" 完整布局文件 <?xml versio

jquery全选checkBox功能实现代码(取消全选功能)

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <

Android checkbox的listView具体操作方法

本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作.通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了哪些项. 1.程序结构图如下: 其中Person.java是实体类,MainActivity.java是Activity组件类.listitem.xml是自定义的列表每项布局文件. 2.listitem.xml布局文件源码如下: <?xml versi

jquery实现全选、反选、获得所有选中的checkbox

举了7个不同的checkbox状态,和大家一一分享. 1.全选 $("#btn1").click(function(){ $("input[name='checkbox']").attr("checked","true"); }) 2.取消全选(全不选) $("#btn2").click(function(){ $("input[name='checkbox']").removeAttr

gridview checkbox从服务器端和客户端两个方面实现全选和反选

GridView中的checkbox的全选和反选在很多的地方都是要求实现的,所以下面就从服务器端和客户端两个方面实现了checkbox的选择. 1.服务器端: html代码如下: 复制代码 代码如下: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="Sq

JS+JSP checkBox 全选具体实现

复制代码 代码如下: <script> function func(){ var options=document.getElementsByName("chkBox"); for (var i=0;i<options.length;i++){ if(!options[i].disabled){ options[i].checked=true; } } } </script> <input type=checkbox name=chkBox valu

javascript使用avalon绑定实现checkbox全选

duplex双工绑定是avalon绑定里面最有趣的一个,因为它在内部帮开发者做了很多事,让开发者写的代码减少,代码更优雅.下面随便演示一个常见的checkbox全选. 要求:(老掉牙了,还是说一下) 1.勾选了全选框后,下面的子选框全被勾选:没勾选全选框,则子选框全部不勾选 2.子选框如果有一个未勾选,则取消全选框勾选: 3.子选框全部勾选,则勾选全选框 <!DOCTYPE html> <html> <head> <meta http-equiv="Co

js与jQuery实现checkbox复选框全选/全不选的方法

本文实例讲述了js与jQuery实现checkbox复选框全选/全不选的方法.分享给大家供大家参考,具体如下: 先来看看JavaScript实现checkbox复选框全选/全不选的方法.这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个checkbox,然后将所有的复选框自动全部选中,比如新浪邮箱中,一些CMS系统的后台中,使用本JS效果后,会大大增强了操作体验,那么究竟是如何实现这一功能的呢?别着急,跟我一步一步实现. 我们先把那些带复选框的列表弄好,还没加全选.全不选时候的状态,大

checkbox全选/取消全选以及checkbox遍历jQuery实现代码

复制代码 代码如下: <html> <head> <script src="jquery-1.3.2.min.js" type="text/javascript"></script> </head> <body> <input type="checkbox" name="chk_list" id="chk_list_1" valu