JS选择改变

Cec*_*cil 0 javascript jquery input selection

我有一个用于选择的onchange功能.

$(document).ready(function() {
    $('#thechoices').on('change', do_the_change_studfac);
});

function do_the_change_studfac() {
    var the_position = $('#thechoices').val();
    var studentcourse = document.getElementById("studcourse");
    var atudentlevel = document.getElementById("studlevel");
    //var sub = $('#submithere');

    if (the_position == 'stud'){

        //alert('true');
        studentcourse.show();
        studentlevel.show();
        studentcourse.attr("required","required");
        studentlevel.attr("required","required");

    }
    if (the_position == 'fac'){

        //alert('false');
        studentcourse.hide();
        studentlevel.hide();
        studentcourse.removeAttr("required");
        studentlevel.removeAttr("required");


    }
}
Run Code Online (Sandbox Code Playgroud)

这些是我的html输入字段:

<label>Select Position</label>
<select id="thechoices" name="position">        
    <option value="stud">Student</option>
    <option value="fac">Faculty Member</option>
</select>

<label for="name">Name </label>
<input type="text" id="name" name="name" placeholder="Name" pattern="[a-zA-Z]+" required/>
<label>ID Number</label>
<input type="text" name="id_num" size="8" maxlength="8" pattern="\d" placeholder="8-digits only"required />
<label>Course</label>
<input type="text" name="course" id="studcourse" placeholder="Course" required/>
<label>Level</label>
<input type="text" name="year" id="studlevel" placeholder="Level" required/>
Run Code Online (Sandbox Code Playgroud)

当onchange时,我在JS上声明的值不起作用(隐藏和显示;设置和取消设置必需属性).但是,当我打开警报时,onchange确实有效.这有什么关系?我有这些脚本:

<script src="../js/jquery-1.7.1.min.js"></script>
<script src="../js/jquery-1.10.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

Goo*_*ose 6

您正在引用jQuery函数.show(),.hide()但您正在使用纯JavaScript来定义对象.

更新此(并修复拼写错误"atudentlevel"):

var studentcourse = $("#studcourse");
var studentlevel = $("#studlevel");
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/V7Qj3/