Java中checkbox实现跨页多选的方法
最近要实现一个功能,就是checkbox跨页多选,在网上看了一下,资料很少,而且大多是不完全的。不过经过我的努力,终于做出来了。
JSP页面:
1,定义三个Hidden变量:
<INPUTtype="hidden"name="all_selected"> <INPUTtype="hidden"name="now_selected"> <INPUTtype="hidden"name="no_selected">
2,javascript
//获取checkbox信息,选中,未选中,当前选中 functiongetCheckBoxInformation(){ varcheckboxes=document.getElementsByName("checkbox"); varcheckedStr=""; varuncheckedStr=""; varurl=""; for(vari=0;i<checkboxes.length;i++){ varcheckbox=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的时候计算当前页被选中项,并在页面表示 functioninitPage(){ varall_selected=document.form1.all_selected.value; if(all_selected!=""&&all_selected!=null){ vararrall_select=all_selected.split(","); if(arrall_select.length>0){ for(vark=0;k<arrall_select.length;k++){ for(vari=0;i<document.form1.checkbox.length;i++){ if(document.form1.checkbox[i].value==arrall_select[k]){ document.form1.checkbox[i].checked=true; } } } } } }
每次翻页的时候调用getCheckBoxInformation()方法,页面加载的时候调用initPage()方法.
在后台,每次翻页时调用方法
publicStringdoubleSpread(Stringall_select,Stringnow_selected,Stringno_selected){ //获取当前选中的项目加入al Listal=newArrayList(); if(all_select!=""&&all_select!=null) { String[]all_select_str=all_select.split(","); for(inta=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(inti=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(inti=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)+","; returnall_select; }
将此方法返回的all_select再传到JSP页面上并赋值给那个隐藏域,到此,功能就实现了。
以上所述是小编给大家介绍的Java中checkbox实现跨页多选的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!