- 浏览: 1985809 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (188)
- java基础 (22)
- 经验+注意 (39)
- Oracle (34)
- javaScript (28)
- jquery (24)
- iBatIS (11)
- hibernate (8)
- struts1.x (1)
- spring (1)
- SVN (1)
- myeclipse (12)
- jbmp工作流 (1)
- 其他 (22)
- 杂谈 (4)
- struts2 (5)
- css (4)
- 正则表达式 (2)
- jstl标签 (4)
- Java Tree (2)
- Jboss (1)
- json (1)
- HttpURLConnection (1)
- Apache commons工具包 (1)
- groovy+grails (2)
最新评论
-
q2425533:
Java字符串倒序输出 + 数组的排序 -
变脸小伙:
今天也跟着学习了,用到了
struts2拦截器 获得请求方法名+获得请求参数 -
tuspark:
讲解的很不错。URLConnection类的内容也可以看这篇文 ...
HttpURLConnection详解 -
wolf746773350:
...
window.location.href/replace/reload()--页面跳转+替换+刷新 -
wolf746773350:
[/flash]
window.location.href/replace/reload()--页面跳转+替换+刷新
eval()函数,曾经自己并不觉得怎么样,但是项目中遇到一个需求,被迫使用,感觉确实很强大,记下来,忘了了看看!
需求: 1) 省内价格可用精确到地市(即,区号),省外价格只精确到省。(产品表中的产品集合将精确到地市,即一万多产品;非本省操作时,将只显示省名称,实际操作地市产品)。
2) 产品查询:(查询条件)
a) 地区(省内选择地市,省外选择省份)
b) 面值
c) 运营商
综上:1.jsp页面需要一个二级联动<select>,选择省内时查出当前工号对应省份的所有
城市,例如:省内(黑龙江)-->查出哈尔滨、齐齐哈尔、大庆等。
2.选择省外,查出T_AREA表中所有的省份,例如:黑龙江、辽宁、河南等。
一、ServiceImpl中方法
/* 查询所有省号、所有省份名称--去掉重复的,此方法hibernate返回一个Object数组,对distinct 封装了 * @date 2011-5-21 下午04:31:26 */ @Override public List<TArea> getProvinceAndCodeList() { String hql = "select distinct t.provinceCode,t.province from TArea t"; List<TArea> list = queryByHql(hql); return list; } /* 根据区号,查询当前区号对应省内的所有市 集合 * @date 2011-5-21 下午04:57:00 */ @Override public List<TArea> getProvinceListByAreaCode(String areaCode) { String sql = ""; if(null != areaCode && !"".equals(areaCode)){ sql = "select * from t_area t where t.province_code=" + "(select t1.province_code from t_area t1 where t1.area_code='"+areaCode+"')"; } List<TArea> list = queryBySql(sql); return list; }
二、struts2的Action两个方法中查询出
/** * 获得当前工号省内的所有--选择的省内 * @author mengxianjun * @date 2011-5-23 上午09:28:14 */ public void getAllCity() { try { String area_code = ConfigCtrl.getConfigValue("area_code");//配置表,获得默认区号 tAreaList = areaService.getProvinceListByAreaCode(area_code);//当前工号所在省的所有市集合 this.getResponse().setCharacterEncoding("UTF-8"); PrintWriter out = this.getResponse().getWriter(); JSONArray myjsonObj = JSONArray.fromObject(tAreaList); out.println(myjsonObj.toString()); out.flush(); out.close(); } catch( Exception e ) { log.error("PriceStrategyAction's method getAllCity ",e); } } /** * 获得所有省--选择的省外 * @author mengxianjun * @date 2011-5-23 上午09:28:14 */ public void getAllProvince() { try { allProvinceList = areaService.getProvinceAndCodeList();//所有省集合 this.getResponse().setCharacterEncoding("UTF-8"); PrintWriter out = this.getResponse().getWriter(); JSONArray myjsonObj = JSONArray.fromObject(allProvinceList); out.println(myjsonObj.toString()); out.flush(); out.close(); } catch( Exception e ) { log.error("PriceStrategyAction's method getAllProvince ",e); } }
三、jsp页面给<select>添加onchange事件,对应省内、省外变换<option>
<script type="text/javascript"> function getAllCityOrProvince() { if( $("#Area_a").val()=='no' ) { $("#Area_b").empty();//清空列表 $("<option></option>").val("no").text(" ").appendTo($("#Area_b")); } /*省内*/ if( $("#Area_a").val()=='nei' ) { $("#Area_b").empty();//清空列表 $.post("priceStrategy_getAllCity",'',function(data){ $.each(eval(data),function(i){ $("<option></option>").val(eval(data)[i].areaCode).text(eval(data)[i].city).appendTo($("#Area_b")); }); }); } /*省外*/ if( $("#Area_a").val()=='wai' ) { $("#Area_b").empty();//清空列表 $.post("priceStrategy_getAllProvince","",function(data){ //alert(data); $.each(eval(data),function(i){ $("<option></option>").val(eval(eval(data)[i])[0]).text(eval(eval(data)[i])[1]).appendTo($("#Area_b")); }); //第二种方法,纯js循环输出 //alert(data); //alert(eval(data).length); /*for( var i=0; i<eval(data).length; i++ ) { var obj1 = eval(eval(data)[i])[0]; var obj2 = eval(eval(data)[i])[1]; $("<option></option>").val(obj1).text(obj2).appendTo($("#Area_b")); }*/ }); } } </script>
四、jsp页面,表单内容
<s:form id="form1" action="" target="main"> <table border=1 width="100%"> <tr> <td colspan="3">查询操作</td> </tr> <tr> <td> 地区: </td> <td> <select id="Area_a" name="Area_a" size="1" onchange="getAllCityOrProvince()"> <option value="no">==请选择==</option> <option value="nei">省内</option> <option value="wai">省外</option> </select> <select id="Area_b" name="Area_b" size="1"> <option value="no"> </option> </select> </td> <td><span id="textArea"></span></td> </tr> <tr> <td> 面值: </td> <td> <input type="checkbox" id="selectALLMoney" onclick="checkAll(this,'money')"/>全选 <input type="checkbox" name="money" value="1"/>1 <input type="checkbox" name="money" value="3"/>3 <input type="checkbox" name="money" value="5"/>5 <input type="checkbox" name="money" value="10"/>10 <input type="checkbox" name="money" value="20"/>20 <input type="checkbox" name="money" value="30"/>30 <input type="checkbox" name="money" value="50"/>50 <br> <input type="checkbox" name="money" value="100"/>100 <input type="checkbox" name="money" value="200"/>200 <input type="checkbox" name="money" value="300"/>300 <input type="checkbox" name="money" value="500"/>500 <input type="checkbox" name="money" value="1000"/>1000 </td> <td><span id="textMoney"></span></td> </tr> <tr> <td> 运营商: </td> <td> <select id="operatorsCode" name="operatorsCode" size="1"> <option value="all">全部</option> <option value="40">移动</option> <option value="41">联通</option> <option value="42">电信</option> </select> </td> <td> </td> </tr> <tr> <td> </td> <td> <input type="button" value=" 查询 " onclick="queryPrice()"/> <input type="button" value=" 重置 " onclick="resetQueryPrice()"/> </td> <td> </td> </tr> </table> <c:choose> <c:when test="${ pageHelper != null }"> <table border=1 width="100%"> <tr> <td colspan="3">批量操作</td> </tr> <tr> <td>价格:</td> <td> <input type="radio" id="pricesMarks" name="updateType" value="prices" checked="checked" onclick="pricesMarksOrRatioMarks()"><label for="pricesMarks">价格</label> <input type="radio" id="ratioMarks" name="updateType" value="ratio" onclick="pricesMarksOrRatioMarks()"><label for="ratioMarks">比率 </label> <input type="text" id="price" name="price"> </td> <td><span id="textPrice"></span></td> </tr> <tr> <td colspan="2"> <input type="button" id="batchUpdate" value="批量修改" onclick="batchUpdateMethod()"> <input type="button" id="allUpdate" value="全部修改" onclick="allUpdateMethod()"> </td> <td><span id="textBatchUpdate"></span></td> </tr> </table> <table border=1 width="100%"> <tr> <td> <display:table id="myList" name="pageHelper" requestURI="priceStrategy_querAllPriceStrategy" sort="list" size="count"> <display:column title="<input type='checkbox' id='selectALL' onclick=\"checkAll(this,'checkboxProductTypeNum')\"/\>"> <input type="checkbox" name="checkboxProductTypeNum" value="${ myList.typeNum }"/> <input type="hidden" name="hiddenTypeNum" value="${ myList.typeNum }"/> </display:column> <display:column property="typeName" title="价格策略名称"/> <display:column property="createDate" title="创建时间" /> <display:column title="操作"> <a href="priceStrategy_openUpdatePriceStrategy?typeNum=${ myList.typeNum }" target="main">修改策略</a>|| <a href="priceStrategy_showDetailPriceStrategy?typeNum=${ myList.typeNum }" target="main">查看详情</a> </display:column> </display:table> </td> </tr> </table> </c:when> <c:otherwise> </c:otherwise> </c:choose> </s:form>
发表评论
-
即时搜索的input和propertychange方法
2018-01-16 16:59 1734做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜 ... -
jQuery Ajax 实例 ($.ajax、$.post、$.get)
2012-02-09 10:43 300903Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦, ... -
checkbox加onClick事件,ajax异步请求后台,$.ajax
2012-02-08 17:02 6809XXX平台要实现一个功能,公告弹出页面上使用复选框设置不再通知 ... -
jquery显示、隐藏div的方法
2012-01-16 13:27 23584###例子 $("#top_notice" ... -
jquery 二级联动
2012-01-09 14:35 1268jquery 二级联动 -
jquery.cookies.2.2.0+半小时后自动跳转至sessionView.jsp提示session过期
2011-10-15 13:15 2823详细方法说明参见:http://code.google.com ... -
Jquery FrameSet设置换肤
2011-09-30 15:25 3211使用Jquery给<FrameSet>换肤, ... -
<input type="text">文本框选中输入的值
2011-09-23 17:39 2403#1.js校验中,可以这样用,jquery同样支持.selec ... -
Jquery AJAX|Jquery .serialize() --序列表表格内容为字符串,用于 Ajax 请求+序列化表单拼接Url字符串
2011-09-21 12:00 8968Jquery AJAX操作时,传data一般分为两种:1.合成 ... -
jQuery ajax 同步 异步
2011-08-16 18:01 2311$.ajax({ url:'<%=request ... -
业务密码校验,AJAX异步校验时间有诧异
2011-08-15 17:53 1732在项目中我使用了AJAX异步校验,来校验业务密码是否正确,本地 ... -
jquery得到div的id值
2011-07-30 17:08 6861<div id="product_shift_ ... -
jquery操作select
2011-07-23 16:28 2565//得到select项的个数 jQuery.fn. ... -
jquery 限制文本框只能输入数字
2011-07-16 15:55 37756jquery 限制文本框只能输入数字 转自:http: ... -
jQuery 效果 - slideToggle() 方法
2011-07-07 17:36 1746实例 通过使用滑动效果,在显示和隐藏状态之间切换 <p ... -
扩展Jquery,自定义函数
2011-06-15 17:07 2368##我们常常需要自定义一些函数,供全局、所有人使用,做法如下: ... -
js+jquery表单验证--自己总结
2011-06-02 16:22 2061###js+jquery验证表单,自己总结的。定义判断的变量t ... -
jquery操作input、select、checkbox、radio常用方法
2011-05-24 15:40 6837jQuery获取Select选择的Text和Value ... -
jQuery获取Select选中的Text和Value
2011-05-24 15:38 1378我在项目中这样使用: var checkText=$(&qu ... -
jquery的each()用法
2011-05-20 17:22 1462转自:http://www.stuhack.com/bianc ...
相关推荐
10<br><br>0023 如何添加引用第3方控件 11<br><br>0024 如何生成DLL文件 11<br><br>0025 如何使用不安全代码 11<br><br>第2章 语言基础 13<br><br>2.1 注释 14<br><br>0026 如何对代码进行注释 14<br>...
总结来说,动态给`<head>`添加`<script>`是一种常见的网页优化策略,它能帮助我们实现更灵活的资源加载管理,提升网页性能。在实际应用中,我们应根据项目需求合理运用这一技术,确保页面加载的高效和顺畅。
事情: 从java后台返回List<String>类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式...
The Scheme<br>Programming Language<br><br>... Multitasking with Engines <br><br>Bibliography<br><br>Answers to Selected Exercises<br><br>Formal Syntax of Scheme<br><br>Summary of Forms<br><br>Index<br>
如何备份和恢复数据库 <br> 第9章 ASP.NET安全策略 <br> 第10章 常用功能及函数集 <br>180.如何在ASP.NET中获得客户端IP地址 <br>181.如何取得一定范围内的随机数 <br>182.如何取得文件的扩展名示例一 <br>182.如何...
led.zip <br>LED控件(165KB)<br>24,led.exe <br>LED 控件(348KB)<br>25,picbtn.exe <br>图片按钮控件(365KB)<br>26,tips.exe <br>工具提示文本控件(354KB)<br>27,numberled.zip <br>NumberLED控件能生成非常漂亮的...
JavaScript中的`eval()`函数可以方便地解析和执行字符串形式的数学表达式,但因为安全问题,不建议在生产环境中使用。通常我们会自定义计算函数,如`calculate()`,来处理用户输入的表达式。 ```javascript ...
### JavaScript + XML 实现下拉二级联动菜单 #### 一、简单说明与功能特性 本文将详细介绍如何利用JavaScript和XML来构建一个具有二级联动功能的下拉菜单。此菜单的一个显著优势是它能够覆盖网页上的任何元素,...
<div id="selecthtml" class="selectcontent">selectÁÐ</div> </div> ``` 这个隐藏的`<div>`将会被动态填充选项。 2. **CSS 样式** 使用CSS对上述元素进行样式化,例如设置背景颜色、边距等。 3...
<%# DataBinder.Eval(Container.DataItem, "Name")%> </td> <td> <%# DataBinder.Eval(Container.DataItem, "Sex")%> </td> <td> <%# DataBinder.Eval(Container.DataItem, "myEmail")%> </td>
%></td><td><%# Eval("treatyGovernment") %></td><td><%# Eval("signerTitle") %></td><td><%# Eval("treatySigner") %></td> <td><input type="button" value="编辑" /><input...
### 使用jQuery、Ajax、JSP与Servlet实现二级级联菜单 #### 一、项目背景与技术栈概述 本文档将详细介绍如何使用jQuery、Ajax、JSP与Servlet来实现一个简单的二级级联菜单功能。该功能常见于许多Web应用程序中,如...
JavaScript 是一种轻量级的解释型编程语言,主要用于网页和网络应用中的客户端脚本语言。它由Netscape公司开发,用于增强网页的交互性。JavaScript可以在HTML文档中嵌入,通过解析器执行,使得网页能够动态响应用户...
Dear 'Ajax in Action' Readers,<br><br>This zip file gathers together the source code for the... Your feedback is welcome.<br><br>Regards,<br><br>Dave Crane<br>Gloucestershire UK<br>November 2005 <br><br>
<script>eval(“alert(‘xss’)”);</script> 这种方法使用eval函数来计算字符串,并执行其中的js代码,以欺骗安全检查。 9、String.fromCharCode 函数突破 <script>String.fromCharCode(97, 108, 101, 114, 116,...
<head><title>九九乘法表</title></head> <body> <script language="javascript"> // 代码实现 </script> </body> </html> ``` - **JavaScript代码**: ```javascript for (let i = 1; i <= 9; i++) { ...
<td><%#DataBinder.Eval(Container.DataItem,"Activation")%></td> <td><%#DataBinder.Eval(Container.DataItem, "DealerId")%></td> <td><%#DataBinder.Eval(Container.DataItem, "UserId")%></td> <td><%#...
<asp:Label ID="Label1" runat="server" Text='<%#Eval("EmployeeCode") %>'></asp:Label></td> <td align="center"> <asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("EmployeeName") %>' Width="100...
<td><%# Eval("BrandDescription") %></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> 程序代码: private DataTable getCategory() { string CString = ...
2. 表单控件:`<input>`(如文本框、按钮等),`<select>`(下拉列表),`<textarea>`(多行文本输入)等。 **六、CSS技术** 1. 链接样式表:外部样式表(`<link>`标签),内部样式表(`<style>`标签),内联样式...