您的位置:首页 > 数据库

从数据库查询到一条记录,在select中设置默认值

2013-06-06 16:01 399 查看
在最近的工作中,遇到类似问题,将从后台查询到的记录在select中设置默认值,参考了网上的资料,做个总结,希望可以帮助别人。
<input type="hidden" value="${project.projectType}" id="projectType">
<select id ="selProjectType" name="project.projectType" style="float: left;margin-left:8px">
<option  value="T01" >新能源</option>
<option value="T02">新材料</option>
<option value="T03">钢铁</option>
<option value="T04">有色金属深加工</option>
<option value="T05">装备制造</option>
<option value="T06">物流</option>
<option value="T07">基础设施</option>
<option value="T08">农牧业深加工</option>
<option value="T09">化工</option>
<option value="T10">新型建材</option>
<option value="T11">城市服务业</option>
<option value="T12">旅游</option>
<option value="T13">纺织</option>
<option value="T14">城市基础设施</option>
<option value="T15">文化产业</option>
</select>

以上是jsp代码;需要从后台传来的数据,设置相应默认值。

此处用到了一个hidden的input标签,主要是用来暂时存储后台传来的值 即:value="${project.projectType}"  T1-T15

以下是js代码:

<script type="text/javascript">
function setDefault(){
var value =document.getElementById("projectType").value;
var select = document.getElementById("selProjectType");
for(i=0;i<select.options.length;i++){
if(select.options[i].value==value){
select.options[i].selected="selected";
break;
}
};
}
</script>


在js中调用,获取传来的值 var value=document.getElementById("projectType").value;

随后进行for循环,设置相应的选项为selected即可。

本来打算在js中直接获取后台传来的数据(通过Struts)

var value= ${project.projectType} //但是会出现undefined错误,获取不到(感到疑惑,希望网友解答),最后通过hidden 的input暂时存储后台数据,js调用DOM后取到想要的值。

最后在<body onload="setDefault">标签中调用setDefault函数,这样就OK了!

当然应该可以使用Struts标签进行判断,此处不做深究,希望网友能提供相应的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息