• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    AJAX級聯下拉框的簡單實現案例

    來源:懂視網 責編:小采 時間:2020-11-27 22:52:13
    文檔

    AJAX級聯下拉框的簡單實現案例

    AJAX級聯下拉框的簡單實現案例:需要的JAVA類 代碼如下:package com.ajaxlab.ajax; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.jdom.Document; import org.jdom.Element;
    推薦度:
    導讀AJAX級聯下拉框的簡單實現案例:需要的JAVA類 代碼如下:package com.ajaxlab.ajax; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.jdom.Document; import org.jdom.Element;

    需要的JAVA類
    代碼如下:
    package com.ajaxlab.ajax;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    import com.ajaxlab.ajax.ProductClass;

    public class ClassService {
       private Document dom;
       public ClassService(){
        try{
         SAXBuilder builder=new SAXBuilder();
         this.dom=builder.build(ClassService.class.getResource("product.xml"));
        }catch(Exception e){
        e.printStackTrace();
        }
       }
       public ProductClass[] getAllClass1(){
        Collection products=new ArrayList();
        Iterator iterator=this.dom.getRootElement().getChildren().iterator();
        do{
         Element element=(Element)iterator.next();
         ProductClass product=new ProductClass(element.getAttributeValue("id"),
                                         element.getAttributeValue("className"));  
            products.add(product);
        }while(iterator.hasNext());
        return (ProductClass[])products.toArray(new ProductClass[0]);

       }

       public ProductClass[] getAllClass2ById(String class1Id){
        Collection products=new ArrayList();
        Element classElement=null;
        Iterator iterator=this.dom.getRootElement().getChildren().iterator();
        do{
         Element element=(Element)iterator.next();
         if(class1Id.equalsIgnoreCase(element.getAttributeValue("id"))){
          classElement=element;
          break;
         }
        }while(iterator.hasNext());

        if(classElement!=null){
         Iterator iter=classElement.getChildren().iterator();
         do{
          Element element=(Element)iter.next();
          ProductClass product=new ProductClass(element.getAttributeValue("id"),
                                          element.getAttributeValue("className"));
                   products.add(product);
         }while(iter.hasNext());
        return (ProductClass[])products.toArray(new ProductClass[0]);
        }
        else{
         return null;
        }
       }

     
       public ProductClass[] getAllClass3ById(String class1Id,String class2Id) {
      Collection products = new ArrayList();
      Element class1Element = null;
      Element class2Element = null;

      Iterator iterator = this.dom.getRootElement().getChildren().iterator();
      do {
       Element element = (Element)iterator.next();
       if(class1Id.equalsIgnoreCase(element.getAttributeValue("id"))) {
        class1Element = element;
        break;
       }
      }while(iterator.hasNext());

      if(class1Element!=null) {
       Iterator iter = class1Element.getChildren().iterator();
       do {
        Element element = (Element)iter.next();
        if(class2Id.equalsIgnoreCase(element.getAttributeValue("id"))) {
         class2Element = element;
         break;
        }
       }while(iter.hasNext());

       if(class2Element!=null) {
        Iterator iter2 = class2Element.getChildren().iterator();
        do {
         Element element = (Element)iter2.next();
         ProductClass product = new ProductClass(element.getAttributeValue("id"),element.getAttributeValue("className"));
         products.add(product);
        }while(iter2.hasNext());
       }
       return (ProductClass[])products.toArray(new ProductClass[0]);
      }
      else return null;
    }
    }


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE class SYSTEM "product.dtd" >
    <class>
      <class1 className="電腦配件" id="1">
         <class2 className="內存" id="1">
           <class3 id="1" className="kingmax"></class3>
           <class3 id="2" className="kingston"></class3>
           <class3 id="3" className="samsung"></class3>
           <class3 id="4" className="hydadi"></class3>
           <class3 id="5" className="ibm"></class3> 
         </class2>
         <class2 className="硬盤" id="2">
           <class3 id="6" className="hithait"></class3>
           <class3 id="7" className="IBM"></class3>
           <class3 id="8" className="samsung"></class3>
           <class3 id="9" className="westdata"></class3>
         </class2>
      </class1>

      <class1 className="食品配件" id="2">
         <class2 className="漢堡包" id="1">
           <class3 id="1" className="麥當勞"></class3>
           <class3 id="2" className="肯得基"></class3>
           <class3 id="3" className="羅杰絲"></class3>
         </class2>
         <class2 className="飲料" id="2">
           <class3 id="4" className="cocacola"></class3>
           <class3 id="5" className="sprite"></class3>
           <class3 id="6" className="coffee"></class3>
           <class3 id="7" className="water"></class3>
         </class2>
      </class1>
    </class>


    <?xml version="1.0" encoding="GB2312" ?>
    <!ELEMENT class (class1+)>
    <!ELEMENT class1 (class2+)>
    <!ATTLIST class1 className NMTOKEN #REQUIRED>
    <!ATTLIST class1 id NMTOKEN #REQUIRED>
    <!ELEMENT class2 (class3+)>
    <!ATTLIST class2 className NMTOKEN #REQUIRED>
    <!ATTLIST class2 id NMTOKEN #REQUIRED>
    <!ELEMENT class3 EMPTY>
    <!ATTLIST class3 className NMTOKEN #REQUIRED>
    <!ATTLIST class3 id NMTOKEN #REQUIRED>

    JSP:
    (1)getClass.jsp 充當業務層供ajax調用
    <%@ page contentType="text/html; charset=gb2312"%>
    <%@ page import="com.ajaxlab.ajax.*"%>
    <%
    String class1Id = request.getParameter("class1Id");
    String class2Id = request.getParameter("class2Id");
    if("".equals(class1Id)) class1Id = null;
    if("".equals(class2Id)) class2Id = null;
    ClassService service = new ClassService();
    if((class1Id!=null)&&(class2Id==null)) {
    ProductClass[] classes = service.getAllClass2ById(class1Id);
    if(classes!=null) {
      for(int i=0;i<classes.length;i++) {
       out.print(classes[i].getId()+","+classes[i].getClassName()+"|");
      }
    }
    }
    else if((class1Id!=null)&&(class1Id!=null)) {
    ProductClass[] classes = service.getAllClass3ById(class1Id,class2Id);
    if(classes!=null) {
      for(int i=0;i<classes.length;i++) {
       out.print(classes[i].getId()+","+classes[i].getClassName()+"|");
      }
    }
    }
    %>

    (2)divmenu.jsp
    <%@ page contentType="text/html; charset=gb2312"%>
    <%@ page import="com.ajaxlab.ajax.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <script type="text/javascript" src="ajax_func.js" ></script>
    <script type="text/javascript">

    function doChange() {
    var f = document.forms[0];
    send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id=",null,"TEXT",populateClass2);
    }
    function doChange2() {
    var f = document.forms[0];
    send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id="+f.select12.value,null,"TEXT",populateClass3);
    }
    function populateClass2(){
         var f=document.forms[0];
         if(http_request.readystate==4){
           if(http_request.status==200){
              var list=http_request.responseText;
              var classList=list.split("|");
              f.select12.options.length=1;
              for(var i=0;i<classList.length-1;i++){
                var temp=Trim(classList[i]).split(",");
                f.select12.add(new Option(temp[1],temp[0]));
              }
           }
         }
    }

      function populateClass3(){
         var f=document.forms[0];
         if(http_request.readystate==4){
           if(http_request.status==200){
              var list=http_request.responseText;
              var classList=list.split("|");
              f.select13.options.length=1;
              for(var i=0;i<classList.length-1;i++){
                var temp=Trim(classList[i]).split(",");
                f.select13.add(new Option(temp[1],temp[0]));
              }
           }
         }
       }
       function LTrim(str)
    {
        var whitespace = new String(" /t/n/r");
        var s = new String(str);
        if (whitespace.indexOf(s.charAt(0)) != -1)
        {
            var j=0, i = s.length;
            while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
            {
                j++;
            }
            s = s.substring(j, i);
        }
        return s;
    }
    function RTrim(str)
    {
        var whitespace = new String(" /t/n/r");
        var s = new String(str);
        if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
        {
            var i = s.length - 1;
            while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
            {
                i--;
            }
            s = s.substring(0, i+1);
        }
        return s;
    }
    function Trim(str)
    {
        return RTrim(LTrim(str));
    }
    </script>
    <%
      ClassService service = new ClassService();
      ProductClass[] classes = service.getAllClass1();
    %>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body><center>
    <form name="classForm" method="post" action="">
    <select name="select11" id="select11" onchange="doChange(this.value)">
    <option value="">請選擇分類一</option>
    <%
    for(int i=0;i<classes.length;i++) {
      out.println("<option value='"+classes[i].getId()+"'>"+classes[i].getClassName()+"</option>");
    }
    %>
    </select>

    <select name="select12" id="select12" onchange="doChange2(this.value)">
    <option value="">請選擇分類二</option>
    </select>

    <select name="select13" id="select13">
    <option value="">請選擇分類三</option>
    </select>
    </form>
    </center></body>
    </html>

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    AJAX級聯下拉框的簡單實現案例

    AJAX級聯下拉框的簡單實現案例:需要的JAVA類 代碼如下:package com.ajaxlab.ajax; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.jdom.Document; import org.jdom.Element;
    推薦度:
    標簽: 實現 案例 實例
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 免费精品一区二区三区第35 | 无码人妻精品一区二区三区在线| 国产精品扒开腿做爽爽爽视频| 久久久精品久久久久久| 国产亚洲精品一品区99热| 少妇精品久久久一区二区三区| 蜜臀av无码人妻精品| 国产激情精品一区二区三区| 精品一区二区三区中文字幕| 国产成人无码精品一区二区三区| 亚洲精品字幕在线观看| 亚洲精品国产精品乱码不卞| 精品国产AⅤ一区二区三区4区| 亚洲精品小视频| 欧美精品在线一区| 国产高清国产精品国产专区| 99精品久久精品一区二区| 久久精品人人做人人爽电影蜜月| 亚洲欧美精品丝袜一区二区| 欧美精品一区二区三区免费| 精品亚洲视频在线观看| 国产乱子伦精品免费视频| 国产99视频精品免费专区| 国产一精品一AV一免费| 无码人妻精品一区二区三区99仓本 | 精品人妻无码一区二区色欲产成人| 精品国产污污免费网站入口| 国产精品视频久久| 久久99精品久久久久久hb无码| 亚洲国产主播精品极品网红| 久久亚洲国产成人精品无码区| 国产福利精品视频自拍 | 日韩精品在线视频| 国内精品久久久人妻中文字幕| 少妇人妻无码精品视频| 亚洲精品成人网久久久久久| 无码国内精品久久人妻麻豆按摩 | 日产精品久久久久久久性色| 久久久久亚洲精品中文字幕| 国产精品免费看久久久香蕉| 99精品国产福利在线观看|