Java中checkbox實(shí)現(xiàn)跨頁(yè)多選的方法
最近要實(shí)現(xiàn)一個(gè)功能,就是checkbox跨頁(yè)多選,在網(wǎng)上看了一下,資料很少,而且大多是不完全的。不過(guò)經(jīng)過(guò)我的努力,終于做出來(lái)了。
JSP頁(yè)面:
1,定義三個(gè)Hidden變量:
<INPUT type="hidden" name="all_selected"> <INPUT type="hidden" name="now_selected"> <INPUT type="hidden" name="no_selected">
2,javascript
// 獲取checkbox信息,選中,未選中,當(dāng)前選中
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;
}
// 頁(yè)面onload的時(shí)候計(jì)算當(dāng)前頁(yè)被選中項(xiàng),并在頁(yè)面表示
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;
}
}
}
}
}
}
每次翻頁(yè)的時(shí)候調(diào)用getCheckBoxInformation()方法,頁(yè)面加載的時(shí)候調(diào)用initPage()方法.
在后臺(tái),每次翻頁(yè)時(shí)調(diào)用方法
public String doubleSpread(String all_select, String now_selected, String no_selected) {
//獲取當(dāng)前選中的項(xiàng)目加入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]);
}
}
//將當(dāng)前選中項(xiàng)目加入列表
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]);
}
}
}
//將當(dāng)前未選中項(xiàng)目從列表中刪除
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頁(yè)面上并賦值給那個(gè)隱藏域,到此,功能就實(shí)現(xiàn)了。
以上所述是小編給大家介紹的Java中checkbox實(shí)現(xiàn)跨頁(yè)多選的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Java利用Hutool-Script封裝JS腳本執(zhí)行
在?Java?開(kāi)發(fā)中,有時(shí)需要?jiǎng)討B(tài)執(zhí)行腳本代碼,比如?JavaScript?腳本,來(lái)實(shí)現(xiàn)一些靈活的業(yè)務(wù)邏輯,下面我們就來(lái)看看如何利用Hutool-Script模塊對(duì)Java的腳本執(zhí)行功能進(jìn)行封裝吧2025-02-02
java為什么會(huì)出現(xiàn)精度丟失這種現(xiàn)象你知道嗎
這篇文章主要介紹了Java精度丟失的問(wèn)題,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下,希望能夠給你帶來(lái)幫助2021-08-08
Java編程小實(shí)例—數(shù)字時(shí)鐘的實(shí)現(xiàn)代碼示例
正所謂拳不離手曲不離口,java學(xué)習(xí)的過(guò)程中,練習(xí)還是要多一點(diǎn)比較好。接下來(lái)分享給大家一個(gè)Java編程的小實(shí)例,供朋友們參考。2017-10-10
Java之Spring注解配置bean實(shí)例代碼解析
這篇文章主要介紹了Java之Spring注解配置bean實(shí)例代碼解析,具有一定參考價(jià)值,文中還有有關(guān)Spring學(xué)習(xí)的資料下載鏈接及相關(guān)內(nèi)容推薦,需要的朋友可以了解下。2017-09-09
Spring實(shí)戰(zhàn)之ResourceLoaderAware加載資源用法示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之ResourceLoaderAware加載資源用法,結(jié)合實(shí)例形式分析了spring使用ResourceLoaderAware加載資源相關(guān)配置與操作技巧,需要的朋友可以參考下2020-01-01
java開(kāi)發(fā)分布式服務(wù)框架Dubbo暴露服務(wù)過(guò)程詳解
這篇文章主要為大家介紹了java開(kāi)發(fā)分布式服務(wù)框架Dubbo暴露服務(wù)的過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11

