隨筆-200  評論-148  文章-15  trackbacks-0

          這個是我看到的,做個備份,大家共享。或許大家覺得簡單,別笑話我。原文出處:

          http://www.javalaw.cn/forum/read.php?tid=109&fpage=1

          ava實現版本:首先選擇產品分類,然后選擇產品類型
          jsp:
          1.queryProduct.jsp

          CODE:
          ......
          ? <script type="text/javascript" src="../js/taconite-client.js"></script>
          ? <script type="text/javascript" src="../js/taconite-parser.js"></script>
          ? <script language="javascript">
          ? ? //選擇產品分類
          ? ? function selectCatalog(vproductCatalog) {
          ? ? ? ? if (vproductCatalog.value == "") {
          ? ? ? ? ? hint("請先選擇產品分類");
          ? ? ? ? } else {
          ? ? ? ? ? hint("加載中...");
          ? ? ? ? ? var ajaxRequest = new AjaxRequest("<html:rewrite page="/product/queryProductsAction.do"/>");
          ? ? ? ? ? ajaxRequest.setQueryString("catalogId=" + vproductCatalog.value);
          ? ? ? ? ? ajaxRequest.sendRequest();
          ? ? ? ? }
          ? ? }
          ? ? function hint(msg) {
          ? ? ? ? var e = document.getElementById("PTypeSelectList");
          ? ? ? ? while (e.childNodes.length > 0) {
          ? ? ? ? ? e.removeChild(e.childNodes[0]);
          ? ? ? ? }
          ? ? ? ? var option = document.createElement("option");
          ? ? ? ? var text = document.createTextNode(msg);
          ? ? ? ? option.appendChild(text);
          ? ? ? ? e.appendChild(option);
          ? ? }
          ? </script>
          ......
          <table width="600" border="1" cellpadding="0" cellspacing="0" bordercolor="#E7E7E7">
          ? ? ? ? ? <tr>
          ? ? ? ? ? ? <td bgcolor="#F6F6F6" class="t_1"> 產品分類目錄
          ? ? ? ? ? ? <html:select property="productCatalog" onchange="selectCatalog(this)">
          ? ? ? ? ? ? <html:option value ="">請選擇產品分類</html:option>
          ? ? ? ? ? ? <html:options collection ="productCatalogs" property="value" labelProperty="label"/>
          ? ? ? ? ? ? </html:select>
          ? ? ? ? ? ? </td>
          ? ? ? ? ? </tr>
          ? ? ? ? ? <tr>
          ? ? ? ? ? ? <td align="left" class="t_1"> 產品類型目錄
          ? ? ? ? ? ? <html:select property="productType" styleId="PTypeSelectList">
          ? ? ? ? ? ? <html:option value ="">請先選擇產品分類</html:option>
          ? ? ? ? ? ? <html:options collection ="productTypes" property="value" labelProperty="label"/>
          ? ? ? ? ? ? </html:select>
          ? ? ? ? ? ? <html:submit property="query" value="查 詢"/></td>
          ? ? ? ? ? </tr>
          ? ? ? ? ? </table>
          ? ? ? ? ? </html:form>
          [Copy to clipboard]

          2.showProductType.jsp
          CODE:
          <%@ page contentType="text/html; charset=UTF-8" %>
          <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
          <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
          <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
          <%@ taglib uri="[url]http://java.sun.com/jstl/core[/url]" prefix="c" %>
          <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
          <%@ taglib uri="[url]http://taconite.sf.net/tags[/url]" prefix="tac" %>
          <tac:taconiteRoot>
          <tac:replaceChildren contextNodeID="PTypeSelectList" parseOnServer="false">
          ? ? ? <option value="" >請選擇產品類型</option>
          ? <nested:iterate id="view" name="productTypes" >
          ? ? ? <option value="<nested:write name="view" property="value" />" ><nested:write name="view" property="label" /></option>
          ? </nested:iterate>
          </tac:replaceChildren>
          </tac:taconiteRoot>
          [Copy to clipboard]

          action:
          CODE:
          public class QueryProductsAction extends Action {
          ? public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
          ? ? ......
          ? ? UtilBusiness utilBusiness = new UtilBusinessImpl();
          ? ? request.setAttribute("productCatalogs",utilBusiness.getAllProductCatalogs());
          ? ? int catalogId = 0;
          ? ? if(request.getParameter("catalogId") != null && request.getParameter("catalogId").length != 0){
          ? ? ? ? catalogId = Integer.parseInt(request.getParameter("catalogId"));
          ? ? }
          ? ? request.setAttribute("productTypes",utilBusiness.getAllPTypes(catalogId));
          ? ? return mapping.findForward("showPType");
          ? ? ......
          ? }
          }
          [Copy to clipboard]

          UtilDaoImpl.java:
          CODE:
          public List getAllPTypes(int catalogId) throws DaoException{
          ? ? String getAllProductTypes = "select id,name from productType where catalogId = ?"; ? ? ?
          ? ? Connection con = null;
          ? ? PreparedStatement ps = null;
          ? ? ResultSet rs = null;
          ? ? try {
          ? ? ? ? List list = new ArrayList();
          ? ? ? ? PType pType;
          ? ? ? ? con = super.getConnection();
          ? ? ? ? ps = con.prepareStatement(getAllProductTypes);
          ? ? ? ? ps.setInt(1,catalogId);
          ? ? ? ? rs = ps.executeQuery();
          ? ? ? ? while (rs.next()) {
          ? ? ? ? ? pType = new PType();
          ? ? ? ? ? pType.setLabel(rs.getString("name"));
          ? ? ? ? ? pType.setValue(String.valueOf(rs.getInt("id"));
          ? ? ? ? ? list.add(pType);
          ? ? ? ? }
          ? ? ? ? return list;
          ? ? } catch (SQLException sqle) {
          ? ? ? ? sqle.printStackTrace();
          ? ? } catch (NullPointerException npe) {
          ? ? ? ? npe.printStackTrace();
          ? ? } finally {
          ? ? ? ? ? if (null != rs) {
          ? ? ? ? ? ? rs.close();
          ? ? ? ? ? }
          ? ? ? ? ? if (null != ps) {
          ? ? ? ? ? ? ps.close();
          ? ? ? ? ? }
          ? ? ? ? ? if (null != con) {
          ? ? ? ? ? ? con.close();
          ? ? ? ? ? } ?
          }

          posted on 2006-07-10 12:43 無聲 閱讀(2212) 評論(2)  編輯  收藏 所屬分類: 職場生活

          評論:
          # re: 用ajax如何實現下拉列表框的聯動 2006-07-11 09:32 | 小白的一生
          好,希望你能把/product/queryProductsAction.do也全部列出來,呵呵這里是查詢出來的結果,然后回傳給頁面顯示的下拉值  回復  更多評論
            
          # re: 用ajax如何實現下拉列表框的聯動 2007-10-16 16:41 | 王毅
          不錯  回復  更多評論
            
          主站蜘蛛池模板: 蕉岭县| 玉树县| 龙岩市| 庆安县| 曲阳县| 绥中县| 利辛县| 苍南县| 赣州市| 余干县| 遂平县| 长宁区| 鄂温| 全州县| 泽州县| 天峨县| 永丰县| 沙田区| 东兴市| 永吉县| 洪江市| 澜沧| 县级市| 南汇区| 泸水县| 汉中市| 通化县| 蓬莱市| 瓮安县| 隆昌县| 河西区| 井陉县| 土默特右旗| 三穗县| 巴青县| 广元市| 万安县| 达拉特旗| 鹿泉市| 师宗县| 金秀|