需求:
产品营销型网站
上传产品时,有产品种类的选择项,产品种类有一级分类和二级分类,
点击一级分类时,相应显示二级分类的条目。
功能实现:
默认查出一级分类的第一条数据,和一级分类第一条对应的二级分类条目,当选择一级分类的其他条目时,通过ajax查询出数据库中对应的二级分类条目,返回json格式的数据,并显示在二级分类的下拉列表中。
编程实现:
前端页面jsp:
<form method="post" modelAttribute="_pro" name="form1" id="form1" action="${ctx}/product-manage/add-product"> <table width="100%" border="1" align="center" cellpadding="6" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#F7F7F7"> <tr> <td width="15%" bgcolor="#F7F7F7"><div align="center">产品分类</div></td> <td bgcolor="#F7F7F7"> <select name="pid" id="pid" onchange="getData()"> <c:forEach var="data" items="${clist}"> <option value="${data.id}">${data.name}</option> </c:forEach> </select> <select name="categoryId" id="categoryId"> <c:forEach var="data" items="${slist}"> <option value="${data.id}">${data.name}</option> </c:forEach> </select> </td> </tr> </form>
jsp中的ajax的js部分:
<script src="${ctx}/js/jquery-1.7.1.min.js"></script> function getData() { var pid = $("#pid").val(); $.ajax({ url:"${ctx}/product-manage/sub-category?"+Math.random(), data:{pid : pid}, type : "post", cache : false, dataType : "json", error:function(){ alert("error occured!!!"); }, success:function(data){ if(data!="0"){ var categoryId = document.getElementById('categoryId'); //清空数组 categoryId.length = 0; for(var i=0;i<data.length;i++){ var xValue=data[i].id; var xText=data[i].name; var option=new Option(xText,xValue); categoryId.add(option); } }else{ var categoryId = document.getElementById('categoryId'); categoryId.length = 0; } } }); }
后端的json处理代码:
/** * 得到产品种类对应的子种类 : json数据 * @throws IOException */ @SuppressWarnings("unchecked") @RequestMapping(value="sub-category") public String getSubCategory(HttpServletRequest request, HttpServletResponse response) throws IOException{ response.setContentType("text/xml;charset=UTF-8"); PrintWriter out = null; try { out = response.getWriter(); } catch (IOException e) { e.printStackTrace(); } String pid = request.getParameter("pid"); String sql = "select id,name from product_category where pid=?"; List<ProductCategory> clist = (List<ProductCategory>) DBHandler.queryBeanList(sql, ProductCategory.class, pid); JSONArray array = new JSONArray(); JSONObject member = null; try { for (ProductCategory p:clist) { member = new JSONObject(); member.put("name", p.getName()); member.put("id", p.getId()); array.put(member); } } catch (JSONException e) { e.printStackTrace(); } out.print(array.toString()); return null; }
相关推荐
在三级级联中,每当用户在一级或二级下拉菜单中做出选择时,会通过ajax发送异步请求到服务器,获取与当前选择对应的三级下拉菜单的选项数据。 具体实现过程如下: 1. **初始化界面**:在`KnowledgeKinds.jsp`中,...
本主题将深入探讨如何利用jQuery AJAX实现动态级联效果,即二级联动下拉菜单,这种功能通常用于多级分类选择或者地区选择等场景。 首先,让我们了解什么是jQuery和AJAX。jQuery是一个强大的JavaScript库,简化了...
在网页开发中,"select级联二级菜单"是一种常见的交互设计,主要用于呈现具有层次结构的数据。这种设计使得用户可以通过选择一级菜单项来显示相应的二级菜单,进而进行更精确的选择。在给定的资源中,我们可以推测这...
本主题聚焦于“Jquery实现ajax二级级联查询”,这是一个常见的前端交互设计,常见于下拉菜单联动,例如省份选择后自动更新城市选择。在这个场景中,我们通常会利用服务器端(如JSP或Servlet)动态生成XML文件,因为...
当用户在一级菜单(省份)中选择一个选项时,通过Ajax向服务器发送请求,服务器则根据请求返回相应的二级菜单(城市)数据。同样,当用户在二级菜单中做出选择时,会再次触发Ajax请求,获取三级菜单(区县)的数据。...
2. Ajax:使用JavaScript异步更新二级菜单,提高交互性。 3. HTML和JavaScript:构建前端用户界面,监听用户交互,发起Ajax请求。 4. "tools.jsp":创建XMLHttpRequest对象的兼容性层,确保跨浏览器的Ajax功能。 这...
例如,当用户在第一级下拉菜单中做出选择后,需要通过监听事件来触发第二级下拉菜单的更新,并进一步触发第三级下拉菜单的更新,从而实现真正的级联效果。 ### 4. 应用场景 3级级联功能广泛应用于各类需要多级分类...
"name": "二级菜单1", "children": [ { "name": "三级菜单1", "children": [ { "name": "四级菜单1", "url": "#" }, { "name": "四级菜单2", "url": "#" } ] }, { "name": "三级菜单2", "children...
Ajax(Asynchronous JavaScript and XML)技术的引入,使得级联菜单不再需要刷新整个页面就能动态地加载和更新数据,提高了用户体验。本文将深入探讨如何使用Ajax来实现级联菜单,并结合数据库获取数据。 首先,...
在级联菜单中,当用户选择一级菜单时,AJAX会向服务器发送请求,获取与该一级菜单相关的二级菜单数据,并在客户端动态渲染,提供即时反馈。 再者,MySQL是一款流行的开源关系型数据库管理系统,用于存储和管理应用...
在Java Web开发中,二级级联下拉菜单是一种常见的用户界面元素,用于提供层次结构的选择。这个场景中,我们利用数据库存储数据,并通过后端处理逻辑动态生成这些下拉菜单。下面将详细介绍如何使用MySQL数据库来实现...
在级联菜单的上下文中,当用户在一级菜单中选择一个选项时,Ajax会向服务器请求相应的二级菜单数据,然后在前端动态渲染出二级菜单,而无需刷新整个页面。 要实现这个功能,我们需要以下几个步骤: 1. **HTML结构*...
首先,需要构建HTML结构,其中包含两个下拉菜单,一个用于显示一级菜单(部门),另一个用于显示根据选中的部门动态获取的二级菜单(子部门)。 ```html <!-- 一级部门列表 --> <option value="0">---请选择--...
6. **jQuery动态更新**:前端接收到响应后,使用jQuery更新二级菜单,展示子级区域(如城市)。 文件名"街道.jpg"和"区县.jpg"可能代表示例中的图像资源,用于美化界面或指示特定区域。"Menu"可能是包含JavaScript...
在这个场景中,我们讨论的是使用jQuery库来实现JSON格式数据的二级级联下拉菜单。这种功能常见于多级分类选择、地区选择等,它可以提供更流畅、更直观的用户体验。 jQuery是一个轻量级、高性能的JavaScript库,它...
引用场景: 国家省市级联菜单、任何二级级联菜单、三级菜单、四级菜单、五.... 使用范例:详细参阅District.Selector.js文件 以国家地理信息为例: $(function () { var District1 = new District("userDistrict",{...
jQuery城市级联插件是一种基于JavaScript库jQuery实现的交互式选择器,主要用于处理地理位置数据,如省份、城市、区县的三级联动效果。在网页表单中,这种插件能够帮助用户逐步选择地理位置,提高用户体验并减少输入...
在Java Web开发中,二级联动下拉列表是一种常见的交互功能,通常用于地区选择、类别分类等场景。...通过以上步骤和注意事项,我们就可以在Java Web应用中成功实现Ajax驱动的二级联动下拉列表,提升用户的交互体验。
在本文中,我们将深入探讨如何使用Ajax技术来实现下拉列表的级联效果,这是一个常见的交互功能,特别是在数据录入和筛选场景中。我们将基于EJB(Enterprise JavaBeans)技术连接数据库,以动态加载和更新下拉列表...
本教程将聚焦于一个特定的应用场景——利用jQuery制作简单二级联动效果。这种效果通常应用于下拉菜单或者选择框,当用户在一个选择框中选择一个选项时,另一个选择框会根据用户的选择动态更新其内容。 在...