在基於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 onload="option()">就可以在修改的時候自動把數據庫裏面取到的值匹配到<select>裏面了;