首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在所有浏览器中使用javascript显示或隐藏元素

在所有浏览器中使用javascript显示或隐藏元素
EN

Stack Overflow用户
提问于 2013-01-08 05:39:24
回答 1查看 13.9K关注 0票数 1

这是html代码..。

代码语言:javascript
复制
<select id="dept" name="dept" style="float: left;">
        <option value="eee" onclick="toggleDisplay('dept_input_div', 0)">EEE</option>
        <option value="ece" onclick="toggleDisplay('dept_input_div', 0)">ECE</option>
        <option value="eie" onclick="toggleDisplay('dept_input_div', 0)">EIE</option>
        <option value="cse" onclick="toggleDisplay('dept_input_div', 0)">CSE</option>
        <option value="it" onclick="toggleDisplay('dept_input_div', 0)">IT</option>
        <option value="mechanical" onclick="toggleDisplay('dept_input_div', 0)">Mechanical</option>
        <option value="civil" onclick="toggleDisplay('dept_input_div', 0)">Civil</option>
        <option value="mechatronics" onclick="toggleDisplay('dept_input_div', 0)">Mechatronics</option>
        <option value="biotech" onclick="toggleDisplay('dept_input_div', 0)">Bio-tech</option>
        <option value="automobile" onclick="toggleDisplay('dept_input_div', 0)">Automobile</option>
        <option value="chemical" onclick="toggleDisplay('dept_input_div', 0)">Chemical</option>
        <option value="aeronautical" onclick="toggleDisplay('dept_input_div', 0)">Aeronautical</option>
        <option value="architecture" onclick="toggleDisplay('dept_input_div', 0)">Architecture</option>
        <option value="others" onclick="javascript:toggleDisplay('dept_input_div', 1);">Others..</option>
      </select>
      <div id="dept_input_div" style="display: none">
      <input class="inputbox" name="dept-input" type="text" id="dept-inputbox" />
      </div>

这是javascript代码..

代码语言:javascript
复制
    function toggleDisplay(id, displayvalue)
{
    if ( displayvalue == 1 ) {
        document.getElementById(id).style.display = 'block';
    } else if ( displayvalue == 0 ) {
        document.getElementById(id).style.display = 'none';
    }
}

上面的代码在firefox和ie (兼容性视图关闭)中运行良好,但在chrome和ie(兼容性打开)中运行良好。

我做错什么了?是否有一种在所有浏览器中都能工作的正确方法?

EN

回答 1

Stack Overflow用户

发布于 2013-01-08 06:02:59

使用onchange而不是onclick

html

代码语言:javascript
复制
<select id="dept" name="dept" style="float: left;" onchange="toggleDisplay('dept_input_div' , this.value)">
            <option value="eee" >EEE</option>
            <option value="ece" >ECE</option>
            <option value="eie" >EIE</option>
            <option value="cse" >CSE</option>
            <option value="it" >IT</option>
            <option value="mechanical" >Mechanical</option>
            <option value="civil" >Civil</option>
            <option value="mechatronics" >Mechatronics</option>
            <option value="biotech" >Bio-tech</option>
            <option value="automobile" >Automobile</option>
            <option value="chemical" >Chemical</option>
            <option value="aeronautical" >Aeronautical</option>
            <option value="architecture" >Architecture</option>
            <option value="others">Others..</option>
</select>
<div id="dept_input_div" style="display: none">
      <input class="inputbox" name="dept-input" type="text" id="dept-inputbox" />
</div>

javascript

代码语言:javascript
复制
function toggleDisplay(id, displayvalue)
{    
    if ( displayvalue == "others" ) {
         document.getElementById(id).style.display = 'block';
    } else {
         document.getElementById(id).style.display = 'none';
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14208836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档