根据javascript中的选择选项显示/隐藏div

时间:2016-05-01 17:27:04

标签: javascript html

搜索互联网。了解了如何做到这一点。实施它。但它不起作用。 我想在选择学生时显示div学生,在选择教师时显示div老师。这是jsp文件的一部分。

HTML code:

<table>
    <tr>
       <td>
         <select id="userType">
             <option value="student">STUDENT</option>
             <option value="teacher">TEACHER</option>
             <option value="admin">ADMIN</option>
         </select>
       </td>
    </tr>
<table>

Javascript代码:

<script type="text/javascript">

    var elem = document.getElementById('userType');
    elem.onchange = function() {
        var studentDiv = document.getElementById('student');
        var teacherDiv = document.getElementById('teacher');
        studentDiv.style.display = (this.value.equals("student")) ? 'block':'none';
        teacherDiv.style.display = (this.value.equals("teacher")) ? 'block':'none';
    };

</script>

我从早上起就试图做到这一点。尝试了其他方法。什么都行不通。我做错了什么?

4 个答案:

答案 0 :(得分:2)

在您的代码中将equals更改为==,它有效DEMO

var elem = document.getElementById('userType');
elem.onchange = function() {
  var studentDiv = document.getElementById('student');
  var teacherDiv = document.getElementById('teacher');
  studentDiv.style.display = (this.value == "student") ? 'block' : 'none';
  teacherDiv.style.display = (this.value == "teacher") ? 'block' : 'none';
};

答案 1 :(得分:0)

您可以获得所选选项的价值,如下所示:

<强> JSFIDDLE

<script type="text/javascript">

    var elem = document.getElementById('userType');
    elem.onchange = function() {
        var studentDiv = document.getElementById('student');
        var teacherDiv = document.getElementById('teacher');
        studentDiv.style.display = this.options[this.selectedIndex].value == "student" ? 'block':'none';
        teacherDiv.style.display = this.options[this.selectedIndex].value == "teacher" ? 'block':'none';
    };

</script>

答案 2 :(得分:0)

试试这个

 studentDiv.style.display = (this.value==="student") ? 'block':'none';
 teacherDiv.style.display = (this.value==="teacher") ? 'block':'none';

答案 3 :(得分:0)

立即出现两个问题:

您正在尝试选择未定义ID的项目。 您在元素值属性上调用不存在的“.value”。

这些错误将在您的浏览器开发人员工具中报告。使用它们。