Heim  >  Artikel  >  Java  >  So implementieren Sie eine seitenübergreifende Mehrfachauswahl mithilfe einer Checkbox in Java

So implementieren Sie eine seitenübergreifende Mehrfachauswahl mithilfe einer Checkbox in Java

高洛峰
高洛峰Original
2017-01-23 16:32:111326Durchsuche

Kürzlich möchte ich eine Funktion implementieren, nämlich die seitenübergreifende Mehrfachauswahl von Kontrollkästchen. Ich habe online nachgeschaut und festgestellt, dass es nur sehr wenige Informationen gibt und die meisten davon unvollständig sind. Aber nach meinen Bemühungen habe ich es endlich geschafft.

JSP-Seite:

1. Definieren Sie drei versteckte Variablen:

<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;  
             }  
           } 
         }  
       }  
     } 
    }

Die Methode getCheckBoxInformation() wird jedes Mal aufgerufen, wenn die Seite umgeblättert wird, und die Methode initPage() wird aufgerufen, wenn die Seite geladen wird.

Im Hintergrund wird die Die Methode wird jedes Mal aufgerufen, wenn die Seite umgeblättert wird.

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;
  }

Übergeben Sie das von dieser Methode zurückgegebene all_select an die JSP-Seite und weisen Sie es dem ausgeblendeten Feld zu. An diesem Punkt ist die Funktion realisiert.

Das Obige ist die vom Herausgeber eingeführte Methode zur Implementierung der seitenübergreifenden Mehrfachauswahl in Java. Ich hoffe, dass sie Ihnen hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere verwandte Artikel zur Implementierung einer seitenübergreifenden Mehrfachauswahl mithilfe von Kontrollkästchen in Java finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn