在基于wed的程序开发过程序中,我们总是会遇到把数据库中取到的数据填冲到select的option中去,但大家都会遇到一个问题就是,当我们在填入我们数据库中的数据时,并不会覆盖原来option里面和数据库里面相同的值,会造成数据的重复出现.下面就我所使用的方法,跟大家分享一下,如有不对的地方希望大家多多指教.
这个问题看起来复杂,但解决起来很简单
1,我们把数据库中取到的数据放到一个隐藏域里面如:
<input type="'hidden" value=<%=从数据库里取到的值%> id="option">
2,确保我们所使用的select-的option的有value属性和值,
<select id="option1">
<option value="<%你当时存入数据库里的值%>">值</option>
</select>
在这里要说明一下,有些程序的option一开始可能是从数据库里取到的,在存入数据库时只是存入了一个ID值:
<select id=""option1>
<%for.............%>
<option value=<%=ID%>><%=值%></option>
......
这也是一样的,我们也只需要从数据库里面把这个ID值取出来入在隐藏域里面就可以了;
3,使用javascript取得隐藏域中的值赋给select
<script>
function option(){
document.getElementById("option").value=document.getElementById("option1").value
}
</script>
4,在<body>标签里让javascript加载<body οnlοad="option()">就可以在修改的时候自动把数据库里面取到的值匹配到<select>里面了;