本篇文章列出了两种利用JavaScript如何实现在页面跳转时保存下拉框作为查询条件时值的保存的问题的方法,有需要的朋友可参考参考。 方法一: 此js方法我是让它在加载页面时自动运行的,采用了
本篇文章列出了两种利用JavaScript如何实现在页面跳转时保存下拉框作为查询条件时值的保存的问题的方法,有需要的朋友可参考参考。
方法一:
此js方法我是让它在加载页面时自动运行的,采用了最无敌最淫霸的方法:在body上onload=“”,你怕不怕-。-
<script type="text/javascript"> //js代码 function isSelected() { var a='<%=request.getAttribute("ProduceLine")%>';//获取你保存在后台下拉框的值(就是你前一个页//面查询条件选择的值) var x=document.getElementById("produce_line"); //获取id为##的对象 if(a=="null"){ x.options[x.selectedIndex].text="--请选择生产线--"; //此处为A 下面详解; } else{ x.options[x.selectedIndex].text=a;}; //此处为B </script>
<form action="##" method="post" id="submit_form"> //form表单生产线:<select name="ProduceLine" id="produce_line" > <option value="s0">--请选择生产线--</option> <option value="生产线一">生产线一</option> <option value="生产线二">生产线二</option> </select></form>
A详解:这里用了一个判断,如果不加判断的话那么你在刚进入这个页面的时候下拉框的值会显示"null",极不美观,所以此处可以写为你想它第一个显示的值。
B详解:这里才是本文的重点代码,selectedIndex属性它的功能是可设置或返回你下拉框或下拉列表所选选项的索引号(最上往下为0,1,2,3....),这里肯定都为第一个,所以无须改变;.text就是此索引号所对应选项的文本值(就是你在下拉框中能看到的字体-。-)
弊端:在页面跳转过后,下拉框显示的值虽然为你之前选择的,但是它的实际值为你下拉框默认的,这个方法适用页面跳转后不再次根据显示的条件进行查询的情况。
方法二:
直接将你的option写成动态的:
<option value="生产线一" <%if("生产线一".equals(request.getAttribute("ProduceLine") + "")) out.print(" selected ");%>>生产线一</option>
弊端:这个方法应用在下拉框条件少的情况完美,如果是那种很多的,还是放弃吧。
以上是我今天在学习java道路上总结的,自己保存的同时也分享给大家,毕竟解决这个问题还有很多种方法(ajax,iframe啥的)。