婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP頁面中如何用select標簽實現級聯

JSP頁面中如何用select標簽實現級聯

熱門標簽:商洛電銷 北票市地圖標注 高德地圖標注樣式 杭州ai語音電銷機器人功能 電銷機器人好賣么 四川保險智能外呼系統商家 地圖標注線上教程 電銷機器人是有一些什么技術 杭州語音電銷機器人軟件

做查詢頁面,查詢條件比較多的時候往往會涉及到級聯。舉個簡單的例子,拿教務系統來說,我們要查詢教學計劃信息,查詢條件是入學批次、學生層次(專升本、高升專)、專業、課程。

它們之間有什么級聯關系呢?入學批次影響學生層次(某個入學批次可能只有專升本或者高升專一個學生層次)、專業、課程,學生層次影響專業、課程,專業又影響課程。也就是說當選擇入學批次時,學生層次、專業和課程的下拉框會局部刷新,選擇學生層次時,專業和課程的下拉框會局部刷新,選擇專業時,課程的下拉框也會局部刷新。

我們當然不希望已經選擇的操作隨著頁面的刷新又被初始化,再者前面提到選擇一項后相關的下拉框是局部刷新。很容易想到用填充頁面的方法來實現級聯。

筆者的填充方法是通過提交JS,由Controller獲取數據,將數據傳到輔助的JSP頁面,再用回調函數將輔助JSP頁面中的數據填充給相應下拉框。說的抽象,直接上代碼了,四級級聯稍微麻煩一些,知道原理后也好做,筆者上三級級聯的代碼。級聯樣式如下圖:



 JSP頁面代碼:

復制代碼 代碼如下:

   table>
    tr>
     td width="400px" align="left">入學批次:SELECT NAME="grade"
      id="grade" onchange="refreshEduLevelAndSpecialAjax();">  //選擇入學批次會刷新層次和專業
       OPTION VALUE="0">
        --請選擇--
        c:forEach items="${gradeInfo}" var="gradeInfo">
         OPTION VALUE="${gradeInfo.gradeName}">${gradeInfo.gradeName}        
        /c:forEach>
     /SELECT>/td>
     td width="400px" align="left">統考課程:SELECT
      NAME="uniExamCourseId" id="uniExamCourseId">
       OPTION VALUE="0">
        --請選擇--
        c:forEach items="${unifiedExamCourseList}" var="uniExamCourse">
         OPTION VALUE="${uniExamCourse.id}">${uniExamCourse.uniExamCourseName}        
        /c:forEach>
     /SELECT>/td>
    /tr>
    tr>
     td colspan="2" id="refreshEduLevelAndSpecialAjax">    //設置ID,用于填充層次和專業的下拉框
      table>
       tr>
        td width="400" align="left">層nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;次:SELECT
         NAME="eduLevelId" id="eduLevelId"
         onchange="refreshSpecialAjax();">    //選擇層次后刷新專業
          OPTION VALUE="0">--請選擇--/OPTION>
          c:forEach items="${educationLevel}" var="educationLevel">
           OPTION VALUE="${educationLevel.id}">${educationLevel.educationLevelName}          
          /c:forEach>
        /SELECT>/td>
        td width="400" align="left" id="refreshSpecialAjax">專nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;業:SELECT            //設置ID,用于填充專業的下拉框
         NAME="specialId" id="specialId">
          OPTION VALUE="0">--請選擇--/OPTION>
          c:forEach items="${specialList}" var="special">
           OPTION VALUE="${special.id}">${special.specialName}          
          /c:forEach>
        /SELECT>/td>
       /tr>
      /table>
     /td>
    /tr>
   /table>

JS的代碼如下:
復制代碼 代碼如下:

//JavaScript Document
 var xmlHttp; //用于保存XMLHttpRequest對象的全局變量
 //用于創建XMLHttpRequest對象
 function createXmlHttp() {
  //根據window.XMLHttpRequest對象是否存在使用不同的創建方式
  if (window.XMLHttpRequest) {
   xmlHttp = new XMLHttpRequest(); //FireFox、Opera等瀏覽器支持的創建方式
  } else {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE瀏覽器支持的創建方式
  }
 }
 function refreshEduLevelAndSpecialAjax() {
  var grade = document.getElementById("grade").value;
  refreshEduLevelAndSpecial(grade);
 }
 function refreshEduLevelAndSpecial(grade) {
  createXmlHttp(); //創建XMLHttpRequest對象
  xmlHttp.onreadystatechange = refreshEduLevelAndSpecialElement; //設置回調函數
  xmlHttp.open("POST", "eduLevelAndSpecialByGradeNameInSpecialDetail",
    true); //發送POST請求
  xmlHttp.setRequestHeader("Content-type",
    "application/x-www-form-urlencoded");
  xmlHttp.send("grade=" + grade);
 }
 //處理服務器返回的信息 更新層次專業下拉框
 function refreshEduLevelAndSpecialElement() {
  if (xmlHttp.readyState == 4) {
   if (xmlHttp.status == 200) {
    //此處xmlHttp.responseText是請求的*Controller的某個方法返回的渲染頁面的源代碼
    document.getElementById("refreshEduLevelAndSpecialAjax").innerHTML = xmlHttp.responseText;
   }
  }
 }
 function refreshSpecialAjax() {
  var grade = document.getElementById("grade").value;
  var eduLevelId = document.getElementById("eduLevelId").value;
  refreshSpecial(grade, eduLevelId);
 }
 function refreshSpecial(grade, eduLevelId) {
  createXmlHttp(); //創建XMLHttpRequest對象
  xmlHttp.onreadystatechange = refreshSpecialElement; //設置回調函數
  xmlHttp.open("POST", "specialByGradeNameAndEduLevelIdInSpecialDetail",
    true); //發送POST請求
  xmlHttp.setRequestHeader("Content-type",
    "application/x-www-form-urlencoded");
  xmlHttp.send("grade=" + grade + "eduLevelId=" + eduLevelId);
 }
 //處理服務器返回的信息 更新專業下拉框
 function refreshSpecialElement() {
  if (xmlHttp.readyState == 4) {
   if (xmlHttp.status == 200) {
    //此處xmlHttp.responseText是請求的*Controller的某個方法返回的渲染頁面的源代碼
    document.getElementById("refreshSpecialAjax").innerHTML = xmlHttp.responseText;
   }
  }
 }

Controller代碼:
復制代碼 代碼如下:

@RequestMapping(value = "/eduLevelAndSpecialByGradeNameInSpecialDetail")
  public ModelAndView getEduLevelAndSpecialByGradeNameInSpecialDetail(HttpServletRequest request,
    HttpServletResponse response) throws JsonParseException, JsonMappingException, JSONException, IOException{  
   String gradeName=request.getParameter("grade");    
   String eduLevelId=request.getParameter("eduLevelId");  
   if(gradeName==null||gradeName.equals("0")){   
    gradeName="null";
   }
   if(eduLevelId==null||eduLevelId.equals("0")){   
    eduLevelId="null";
   }
   ArrayListUtilObject> eduLevelList=uess.getEduLevelIdByGradeNameInSpecialDetail(gradeName);
   ArrayListUtilObject> specialIdList=uess.getSpecialIdByGradeNameAndEduLevelIdInSpecialDetail(gradeName, eduLevelId);  
   mav.addObject("educationLevel", eduLevelList);
   mav.addObject("specialList", specialIdList);
   mav.setViewName("scoreManage/uniExamScore/eduLevelAndSpecialAjax");
   return mav;
  }
  @RequestMapping(value = "/specialByGradeNameAndEduLevelIdInSpecialDetail", method = RequestMethod.POST)
  public ModelAndView getSpecialByGradeNameAndEduLevelIdInSpecialDetail(HttpServletRequest request,
    HttpServletResponse response) throws JsonParseException, JsonMappingException, JSONException, IOException{
   String gradeName=request.getParameter("grade"); 
   String eduLevelId=request.getParameter("eduLevelId");
   System.out.println("grade:"+gradeName+"  eduLevelId:"+eduLevelId);
   if(gradeName==null||gradeName.equals("0")){   
    gradeName="null";
   }
   if(eduLevelId==null||eduLevelId.equals("0")){   
    eduLevelId="null";
   }
   ArrayListUtilObject> specialList=uess.getSpecialIdByGradeNameAndEduLevelIdInSpecialDetail(gradeName, eduLevelId);  
   mav.addObject("specialList", specialList);
   mav.setViewName("scoreManage/uniExamScore/specialAjax");
   return mav;
  }

后臺代碼沒有給出來,但應該看得懂,就是獲取后臺數據傳到eduLevelAndSpecialAjax.jsp和specialAjax.jsp頁面。這兩個頁面用于填充原頁面,通過ID來填充相應區域,兩個頁面代碼如下。
eduLevelAndSpecialAjax.jsp輔助頁面:
復制代碼 代碼如下:

td id="refreshEduLevelAndSpecialAjax">    //ID用于填充原頁面
    table>
    tr>
     td width="400px" align="left">層nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;次:select
      id="eduLevelId" name="eduLevelId" onchange="refreshSpecialAjax();">
       option value="0">--請選擇--/option>
       c:forEach items="${educationLevel}" var="educationLevel">
        option value="${educationLevel.id}">${educationLevel.name}/option>
       /c:forEach>
     /select>/td>
     td width="400px" align="left" id="refreshSpecialAjax">專nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;業:SELECT                               //ID用于填充原頁面
      NAME="specialId" id="specialId">
       option value="0">--請選擇--/option>
       c:forEach items="${specialList}" var="special">
        OPTION VALUE="${special.id}">${special.name}
       /c:forEach>
     /SELECT>/td>
     /tr>
    /table>
   /td>

specialAjax.jsp輔助頁面:
復制代碼 代碼如下:

td width="400" align="left" id="refreshSpecialAjax">專nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;業:SELECT
    NAME="specialId" id="specialId">    //ID用于填充原頁面
     option value="0">--請選擇--/option>
     c:forEach items="${specialList}" var="special">
      OPTION VALUE="${special.id}">${special.name}
     /c:forEach>
   /SELECT>/td>

這樣就在JSP頁面實現了填充。

您可能感興趣的文章:
  • JSP自定義標簽Taglib實現過程重點總結
  • jsp struts1 標簽實例詳解
  • jsp頁面中如何將時間戳字符串格式化為時間標簽
  • JSP自定義標簽rtexprvalue屬性用法實例分析
  • jsp自定義標簽用法實例詳解
  • JSP自定義分頁標簽TAG全過程
  • JSP中常用的JSTL fmt(format格式化)標簽用法整理
  • Jsp自定義標簽和方法詳解

標簽:云浮 江西 西藏 貴州 紅河 丹東 宿州 青島

巨人網絡通訊聲明:本文標題《JSP頁面中如何用select標簽實現級聯》,本文關鍵詞  JSP,頁面,中如,何用,select,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP頁面中如何用select標簽實現級聯》相關的同類信息!
  • 本頁收集關于JSP頁面中如何用select標簽實現級聯的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一区二区三区在线电影| 老司机午夜精品| 日韩欧美卡一卡二| 亚洲精品日韩一| 国产成人精品三级| 日韩视频永久免费| 亚洲成a人v欧美综合天堂下载 | 国产精品综合一区二区| 日韩一级片网站| 91视频在线观看| 亚洲一区在线观看网站| 欧美日韩久久一区| 肉色丝袜一区二区| 日韩欧美国产三级| 欧美日韩视频在线观看一区二区三区 | 午夜亚洲福利老司机| 亚洲色图20p| 亚洲成人久久影院| 国产精品美女一区二区三区 | 亚洲精品一卡二卡| 色婷婷综合久色| 日韩欧美中文字幕制服| 粉嫩欧美一区二区三区高清影视| 亚洲成在人线免费| 久久精品日韩一区二区三区| 精品国产免费人成电影在线观看四季| 欧美三级韩国三级日本三斤| 日韩不卡手机在线v区| 日本高清不卡视频| 国产成人一级电影| 日韩高清在线观看| 成人午夜激情视频| 欧美性受xxxx黑人xyx| 国精产品一区一区三区mba视频| 国产成人免费9x9x人网站视频| 综合欧美亚洲日本| 久久伊人中文字幕| 日韩高清在线不卡| 天天亚洲美女在线视频| 国产精品欧美极品| 精品sm捆绑视频| 日韩视频免费直播| 欧美专区日韩专区| 国产69精品久久久久毛片| 精品亚洲国内自在自线福利| 香蕉加勒比综合久久| 亚洲国产另类av| 久久69国产一区二区蜜臀| 亚洲一区中文在线| 亚洲精品成人精品456| 国产精品麻豆视频| 国产精品你懂的在线欣赏| 欧美激情综合五月色丁香| 精品国产百合女同互慰| 26uuu精品一区二区在线观看| 日韩写真欧美这视频| 欧美日韩一区在线观看| 在线看一区二区| 91丨九色丨黑人外教| 成人av在线网| 亚洲精品美国一| 国产一区二区在线影院| 亚洲精品乱码久久久久久日本蜜臀| 欧美一区二区福利视频| 欧美精三区欧美精三区| 在线观看日产精品| 91精品国产综合久久蜜臀| 日韩三级在线观看| 欧美精品一区二区三区在线播放 | 日韩午夜在线影院| www国产精品av| 国产精品乱码人人做人人爱| 亚洲激情校园春色| 蜜臀av一区二区在线免费观看| 久久不见久久见中文字幕免费| 国产一区欧美二区| 日本精品一区二区三区高清 | 欧美日韩国产在线播放网站| 色综合久久久久| 在线免费观看日本欧美| 欧美一区在线视频| 国产婷婷精品av在线| 亚洲女性喷水在线观看一区| 在线视频国内自拍亚洲视频| 欧美视频一区二区三区在线观看| 久久蜜桃香蕉精品一区二区三区| 日韩精品久久久久久| 国内外成人在线| 在线免费观看视频一区| 精品国产一区久久| 亚洲精品日韩综合观看成人91| 天堂一区二区在线| 成人av在线网| 欧美mv日韩mv国产| 一区二区三区美女视频| 亚洲国产日产av| 国产成人午夜99999| 91精品午夜视频| 亚洲黄色免费网站| 国产91精品一区二区麻豆网站| 欧美日本乱大交xxxxx| 国产精品妹子av| 国模少妇一区二区三区| 欧美影院一区二区| 中文字幕永久在线不卡| 麻豆精品久久久| 欧美午夜电影网| 亚洲视频一二三区| 成人综合在线视频| 久久综合久久鬼色中文字| 亚洲18女电影在线观看| 91麻豆精品视频| 国产精品福利一区| 国产激情偷乱视频一区二区三区| 欧美疯狂做受xxxx富婆| 亚洲精品免费一二三区| www.欧美色图| 国产精品剧情在线亚洲| 国产精品一区二区在线播放| 51精品秘密在线观看| 亚洲一区二区三区四区五区中文| 97se亚洲国产综合在线| 日本一区二区久久| 国产91露脸合集magnet| 国产欧美一区二区三区在线看蜜臀 | 最新欧美精品一区二区三区| 狠狠色丁香婷婷综合久久片| 欧美成人vps| 青娱乐精品视频| 日韩色在线观看| 久久精品国产77777蜜臀| 日韩欧美一二三| 亚洲一区二区三区在线播放| 欧美日韩国产天堂| 日韩一区精品视频| 在线不卡a资源高清| 免费观看日韩电影| 欧美精品一区二区三区在线| 老色鬼精品视频在线观看播放| 6080yy午夜一二三区久久| 极品少妇一区二区| 国产女同性恋一区二区| 91在线观看视频| 亚洲高清三级视频| 精品久久久久香蕉网| 免费黄网站欧美| 91麻豆精品国产91久久久更新时间| 午夜电影一区二区三区| 日韩午夜精品视频| 国产成人午夜电影网| 亚洲激情欧美激情| 欧美电视剧在线观看完整版| 日韩国产在线一| 精品视频在线免费| 一区二区在线观看av| 91久久奴性调教| 亚洲精品日韩专区silk| 色噜噜狠狠成人网p站| 亚洲免费成人av| 色综合久久久网| ...xxx性欧美| 欧美高清视频一二三区| 麻豆精品在线播放| 日韩理论片网站| 欧美日韩免费在线视频| 韩国欧美国产1区| 一区二区三区在线免费观看| 欧美最猛性xxxxx直播| 亚洲你懂的在线视频| 在线观看视频91| 国内不卡的二区三区中文字幕| 中文字幕亚洲电影| 久久综合视频网| 欧美精选一区二区| av电影在线观看不卡| 日本成人超碰在线观看| 国产精品欧美经典| 欧美男同性恋视频网站| 免费观看一级欧美片| 亚洲欧美另类小说| 久久欧美中文字幕| 欧美日韩午夜在线| 亚洲一区二区三区四区的| 国产资源精品在线观看| 一区视频在线播放| 日韩一区国产二区欧美三区| 成人国产亚洲欧美成人综合网| 一区二区成人在线观看| 久久精品视频免费观看| 色婷婷狠狠综合| 免费成人美女在线观看.| 成人毛片在线观看| 黄页视频在线91| 日本少妇一区二区| 国产精品高潮呻吟久久| 久久精品人人做人人综合| 欧美一区二区三区小说| 欧美日韩一卡二卡三卡| 成人av免费在线播放| 国产精品一线二线三线|