Welcome to Delicate template
Header
Just another WordPress site
Header

下拉框选择控制显示隐藏

6月 2nd, 2010 | Posted by 无 名 in js

下拉框控制div的显示或隐藏,
在这里纠结了很久。
先前是这样写的。

<script language="javascript">
function isok(i){
if (i==4){
  document.getElementById("book").style.display="block";
}
else{
  document.getElementById("book").style.display="none";
}
}
</script>
<select name="state">
            <option value="1" selected="selected" onclick="isok(1);">隐藏book</option>
            <option value="2" onclick="isok(2);">隐藏book</option>
            <option value="3" onclick="isok(3);">隐藏book</option>
            <option value="4" onclick="isok(4);">显示book</option>
</select>
<div id="book">“book”</div>

这样写后,发现在火狐里面是可以显示隐藏的,但到了IE6里面就没反应了。
后来,改来改去,这样写才可以。

<script language="javascript">
function isok(i){
if (i==4){
  document.getElementById("book").style.display="block";
}
else{
  document.getElementById("book").style.display="none";
}
}
</script>
<select name="state" onchange="isok(this.value);">
            <option value="1" selected="selected">隐藏book</option>
            <option value="2">隐藏book</option>
            <option value="3">隐藏book</option>
            <option value="4">显示book</option>
</select>
<div id="book">“book”</div>

事件是要写在select标签里面,而且要用onchange事件,这样在火狐和IE里面都可以正常控制。
方法供大家学习借鉴,如果有更好的或更简洁的方法,希望能提出来。

You can follow any responses to this entry through the RSS 2.0 Both comments and pings are currently closed.