- 浏览: 323436 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (254)
- java (178)
- tomcat (6)
- 邮件 (1)
- smtp (1)
- Linux (2)
- 编码 (2)
- 导入工程 (1)
- Specification Level (1)
- hibernate (10)
- 字段类型 (1)
- 字段类型匹配 (1)
- 数据库 (3)
- sql (9)
- struts2 (8)
- 类型转换 (2)
- java,MyEclipse,SVN (1)
- Myecplise (4)
- 输入校验 (1)
- JFrame (2)
- Oracle (8)
- google (1)
- Swing (3)
- Fusioncharts (1)
- 找工作 (0)
- js (4)
- jsp (11)
- displaytag (1)
- spring (8)
- 工作 (1)
- String (1)
- 算法 (2)
- IO (1)
- xml (3)
- 设计模式 (1)
- UML (1)
- 文档 (1)
- ajax (1)
- 日常 (7)
- sql server (1)
- mysql (3)
- git (1)
- Maven (1)
- mongodb (1)
- postman (1)
最新评论
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ include file="/util/taglib.jsp" %> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <script type="text/javascript" src="My97DatePicker/WdatePicker.js"></script> <SCRIPT type="text/javascript"> var req; window.onload=function(){ } function Change_Select() { var zhi=document.getElementById('province').value; var url="${pageContext.request.contextPath }/exactinfo.do?action=liandong&id="+escape(zhi); if(window.XMLHttpRequest) { req=new XMLHttpRequest(); }else if(window.ActiveXObject) { req=new ActiveXObject("Microsoft.XMLHTTP"); } if(req) { req.open("GET",url,true); req.onreadystatechange=callback; req.send(null); } } function callback() { if(req.readyState == 4) { if(req.status == 200) { parseMessage(); }else{ alert("Not able to retrieve description"+req.statusText); } } } function parseMessage() { var xmlDoc=req.responseXML.documentElement; var xSel=xmlDoc.getElementsByTagName('select'); var select_root=document.getElementById('city'); select_root.options.length=0; for(var i=0;i<xSel.length;i++) { var xValue=xSel[i].childNodes[0].firstChild.nodeValue; var xText=xSel[i].childNodes[1].firstChild.nodeValue; var option=new Option(xText,xValue); try{ select_root.add(option); }catch(e){ } } } </SCRIPT> <title>添加精准数据</title> </head> <body> <div class="page"> <div class="pageContent"> <form name="addExactInfo" method="post" action="${pageContext.request.contextPath }/exactinfo.do?action=add&flag=save" class="pageForm required-validate" onsubmit="return validateCallback(this,navTabAjaxDone);"> <div class="pageFormContent" layoutH="33"> <table> <tr> <td> <p id="trpid" style="display:block"> <label>所属行业:</label> <select name="productId" class=""> <c:forEach var="m" items="${categoryList}"> <option value="${m.categoryId}" >${m.categoryName}</option> </c:forEach> </select> </p> </td> </tr> <tr> <td> <p> <label>客户端下载量:</label> <input name="downloadCounts" class="required" type="text" size="30" /> </p> </td> </tr> <tr> <td> <p> <label>日活跃用户量:</label> <input name="activeCounts" class="required" type="text" size="30" /> </p> </td> </tr> <tr> <td> <p> <label>以往投放广告点击人数:</label> <input name="clickCounts" class="required" type="text" size="30" /> </p> </td> </tr> <tr> <td> <p> <label>用户年龄:</label> <input name="age" class="required" type="text" size="30" /> </p> </td> </tr> <tr> <td> <p> <label>地域:</label> <select name="province" id="province" class="" onChange="Change_Select()"> <option value="0" >请选择</option> <c:forEach var="m" items="${areaList}"> <option value="${m.id}" >${m.title}</option> </c:forEach> </select> </p> </td> </tr> <tr> <td> <p> <label>城市:</label> <!-- <input name="city" class="required" type="text" size="30" /> --> <SELECT name="city" id="city"> <OPTION value="0">请选择</OPTION> </SELECT> </p> </td> </tr> <tr> <td> <p> <label>活跃时间:</label> <!-- <input name="activeTime" class="required" type="text" size="30" /> --> <input id="d12" type="text" name="activeTime"/> <img onclick="WdatePicker({el:$dp.$('d12'),dateFmt:'yyyy-MM-dd HH:mm:ss'})" src="My97DatePicker/skin/datePicker.gif" _fcksavedurl="My97DatePicker/skin/datePicker.gif" width="16" height="22" align="absmiddle"> </p> </td> </tr> <tr> <td> <p> <label>投放版本:</label> <input name="version" class="required" type="text" size="30" /> </p> </td> </tr> <tr> <td> <p> <label>状态:</label> <label><input type="radio" name="status" value="1" checked="checked"/>正常</label> <label><input type="radio" name="status" value="0"/>锁定</label> </p> </td> </tr> </table> <div class="formBar"> <ul> <li><div class="buttonActive"><div class="buttonContent"><button type="submit">保存</button></div></div></li> <li> <div class="button"><div class="buttonContent"><button type="Button" onclick="navTab.closeCurrentTab()">取消</button></div></div> </li> </ul> </div> </form> </div> </div> </body> </html>
上述界面里面的地域和城市是二级联动的
下面对应js方法里面的${pageContext.request.contextPath }/exactinfo.do?action=liandong&id="+escape(zhi);请求对应的后台Action里面的方法:
/** * 区域二级联动菜单 * @param mapping * @param form * @param request * @param response */ public void liandong(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ response.setContentType("text/xml"); response.setHeader("Cache-Control","no-cache"); response.setCharacterEncoding("utf-8"); String id = this.getParameter("id"); String xml_start="<selects>"; String xml_end="</selects>"; String xml=""; String hql = " from ExactArea ea where 1=1 "; String condition = ""; Map<String, Object> parms = new HashMap<String, Object>(); if (!"".equals(id)) { condition = " and ea.pid = :pid"; parms.put("pid", Integer.parseInt(id)); } List<ExactArea> areaList = dao.findAll(hql, condition, parms); if (null != areaList && areaList.size() > 0) { for (int i = 0; i < areaList.size(); i++) { ExactArea area = areaList.get(i); xml += "<select><value>" + area.getTitle() + "</value><text>" + area.getTitle() + "</text></select>"; } } String last_xml=xml_start+xml+xml_end; try { // 响应返回代码 response.getWriter().write(last_xml); } catch (IOException e) { e.printStackTrace(); } }
发表评论
-
a标签调用js方法提交表单
2014-03-07 15:59 880<a href="javascript:doc ... -
Ajax实现首页界面先加载页面然后再更新上面的超载率相关数据(防止页面加载过慢的问题出现)(异步数据更新)
2013-12-25 10:32 1731日常开发中常常会遇到页面加载特别慢的问题,大多数情况都是后台的 ... -
Ajax实现jsp里面某个输入框内容修改之后后台数据库自动更新
2013-12-24 10:19 6029对应在数据库中表格 rocars表的msg_id,ccrn两个 ... -
自定义(客户化)标签库详解
2013-09-25 14:19 980标签库的作用和EL表达式的作用差不多,尽量减少jsp页面上的j ... -
jsp页面上一些js校验的方法
2013-09-24 14:09 2135客户端校验! //一些js校验的方法。 //函数返回tr ... -
jsp页面上的时间字段格式转换
2013-09-22 13:54 828<td><fmt:formatDate va ... -
jsp页面自动刷新方式
2013-09-03 16:39 518在head部分结尾</head>之前加上: < ... -
jsp页面时间字段格式化
2013-09-02 15:44 955<%@ taglib prefix='fmt' uri= ... -
Struts2中使用displaytag标签总结
2013-07-17 18:28 2523Display Tag Lib是一个标签 ... -
jsp页面中引入java,及消除缓存
2013-07-17 14:38 825<%@ page language="java ...
相关推荐
在PHP和MySQL环境中实现下拉菜单的二级联动是一种常见的交互设计,它允许用户在选择一级菜单后,二级菜单根据一级菜单的选择动态加载相关数据。这种技术广泛应用于网站的地区选择、分类导航等场景。下面我们将深入...
这个"jQuery世界城市三级联动下拉选择代码"是一个实现这种功能的示例,它允许用户通过三个相互关联的下拉列表来选择全球的国家、省份(或州)以及城市。 首先,`jquery.min.js`是jQuery库的核心文件,它是...
省市二级联动是网页开发中常见的交互功能,尤其在表单填写、地址选择等场景中广泛应用。这个功能的主要目的是实现省份(或国家)选择后,自动更新下方的城市(或地区)选项,以提供用户友好的交互体验。在网页前端...
这个术语通常用于描述在Web应用程序中实现的一种交互式功能,它允许用户通过选择一个下拉菜单(一级)来触发另一个下拉菜单的显示(二级),进一步的选择(三级)会基于前两个级别的选择进行动态更新。这种设计常见...
这样,当鼠标悬停在父菜单或二级菜单上时,对应的子菜单就会显示出来。 3. **JavaScript 交互**: 对于更复杂的交互,如延迟显示、动画效果或者防止快速切换时的闪烁,我们可以使用JavaScript。例如,使用jQuery...
二级联动,即当在一级下拉菜单中选择了某个选项时,二级下拉菜单会相应地更新显示与之相关联的选项,从而提高用户体验。本文将详细讲解如何通过实例代码实现select下拉菜单的二级联动效果。 首先,要实现二级联动...
通常,每个选择框都会与一个特定的级联级别相对应,例如一级菜单、二级菜单和三级菜单。 接着,`js`文件夹内包含了jQuery和tnTreeBox.js插件的JavaScript代码。tnTreeBox.js是一个jQuery插件,专门用于创建树形结构...
在用户选择一级地区(如省份)后,JS会查找并加载相应的二级地区(如城市)数据,接着在用户选定二级地区后,再加载三级地区(如区/县)的数据。这个过程可以通过AJAX异步请求服务器获取数据,也可以直接在页面加载...
本文介绍的jQuery.selected插件就是用来实现二级联动效果的工具,它允许开发者在网页上创建两个相关联的下拉选择框,当用户在第一个下拉列表中选择一个选项时,第二个下拉列表会相应地更新其内容。这一点在很多表单...
本文将通过一段具体的代码示例,来详细介绍如何使用纯CSS技术实现一个简单的二级联动下拉框,并对其中涉及的关键技术和代码进行深入解析。 #### 二、核心CSS技术分析 ##### 2.1 定位技术(Position) 定位是CSS...
在IT领域,多级联动是一种常见的交互设计,用于在多个下拉框或列表之间建立关联,使得用户在选择某一选项时,其他相关联的选项会根据预设规则自动更新。在网页开发中,这种功能可以增强用户体验,尤其适用于层级结构...
这种效果通过JavaScript实现,使得用户在选择省份时,城市下拉菜单会自动更新为对应省份的城市列表。以下是对基于JS实现省市联动效果代码的详细解释: 1. **数据结构**: 实现联动效果的关键在于建立一个合适的...
通过JS,我们可以动态地创建、修改和控制这些下拉框,实现联动效果,用户在选择一级选项时,二级甚至三级选项会相应地更新。"很强的下拉框项目.rar"可能就包含这样的示例代码,可以深入学习其工作原理。 2. **JS...
根据主机型号的不同,二级菜单项会有相应变化。 - **主机号选择**:通过下拉框选择不同的主机号,可生成或导入对应的配置文件。 - **主机型号选择**:通过下拉框选择不同的主机型号,可直接修改本机主机型号。 - ...
- **基本用法(省市区级联)**: 支持多级联动的选择,常见于省市区的选择场景。 - **移入展开**: 支持鼠标移入时自动展开下一级选择。 - **选择即改变**: 选择父级选项时,会立即改变子级选项的状态。 - **自定义已...