紧急求助:jsp提交表单查询后,下拉列表框(SELECT)保持原来的选则项的Javascript代码怎么写啊? 10
我想在提交包含班级和学生和学期查询条件的表单(form)后,由struts处理后返回本页面,将从数据库得到的查询结果显示出来的同时将原来的选择条件保存下来,继续存留在js...
我想在提交包含班级和学生和学期查询条件的表单(form)后,由struts处理后返回本页面,将从数据库得到的查询结果显示出来的同时将原来的选择条件保存下来,继续存留在jsp页面上,怎么写啊?两个下拉框的id分别为clsno和stuno,(stuno根据clsno动态的从数据库中获取),学期下拉表的id为term,我是这样写js代码的,但是不对。小弟在此虚心向各位大神请教该怎么写呢?
var cls = document.getElementById("clsno");
cls.selectedIndex = document.getElementById
("clsno").selectedIndex;
var stu = document.getElementById("stuno");
stu.selectedIndex=document.getElementById("stuno").selectedIndex;
var term = document.getElementById("term")
term.selectedIndex = document.getElementById("term").selectedIndex;
详见截图,按照我的代码没得到想要的效果。(我想在获取结果的同时保留本次查询条件,班级:20110611 学号:2011061101 学期:第3学期)。
小弟看到一解决方案:http://zhidao.baidu.com/question/65814937.html
window.onload(){
document.getElementById('sel').selectedIndex = ${requestScope.sel};
//${requestScope.sel}是EL表达示,这个就是从request里把上次放进去的值取出来,让下拉框选中它
} 如果这样的话,在Action处理类中这个select的selectedItem是如何获取,以便保存在request中的呢? 展开
var cls = document.getElementById("clsno");
cls.selectedIndex = document.getElementById
("clsno").selectedIndex;
var stu = document.getElementById("stuno");
stu.selectedIndex=document.getElementById("stuno").selectedIndex;
var term = document.getElementById("term")
term.selectedIndex = document.getElementById("term").selectedIndex;
详见截图,按照我的代码没得到想要的效果。(我想在获取结果的同时保留本次查询条件,班级:20110611 学号:2011061101 学期:第3学期)。
小弟看到一解决方案:http://zhidao.baidu.com/question/65814937.html
window.onload(){
document.getElementById('sel').selectedIndex = ${requestScope.sel};
//${requestScope.sel}是EL表达示,这个就是从request里把上次放进去的值取出来,让下拉框选中它
} 如果这样的话,在Action处理类中这个select的selectedItem是如何获取,以便保存在request中的呢? 展开
2个回答
展开全部
首先你这个select中有很多option,每个option是有value的,提交的时候这个select的值就是选中的option的值。
在这个基础上,action会接收到这个value。
然后返回页面的时候,假如action中的这个属性叫actionValue
在页面上可以定义
<script>
var value = "${actionValue}";
var select = document.getElementById("selectId"); //获取这个下拉菜单
var options = select.options;
for (var i = 0; i < options.length; i++){
if (options[i].value == value){
options[i].selected = true; break;
}
}
</script>
在这个基础上,action会接收到这个value。
然后返回页面的时候,假如action中的这个属性叫actionValue
在页面上可以定义
<script>
var value = "${actionValue}";
var select = document.getElementById("selectId"); //获取这个下拉菜单
var options = select.options;
for (var i = 0; i < options.length; i++){
if (options[i].value == value){
options[i].selected = true; break;
}
}
</script>
追问
我试了,对于select框中的option是静态的情况是好使的,可是对于级联select,像我这个例子中的学生是根据前面的班级动态的从数据库中取出的。(监听的是第一个下拉框的onchange事件。)这种情况这么做呢?
追答
一样。级联select也是先查询,然后把查询结果作为option放到select里面。放完之后需要用的时候就用上面的方法选中某个option
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询