AJAX级联下拉框的简单实现案例

2019-09-14 07:10:59刘景俊

    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>