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

来源:互联网 发布:怎么查笔记本的mac地址 编辑:程序博客网 时间:2024/05/16 09:56
在最近的工作中,遇到类似问题,将从后台查询到的记录在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标签进行判断,此处不做深究,希望网友能提供相应的方法。


原创粉丝点击