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实现跨页多选的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!