根据select
列表中的所选选项,我想显示以下DIV之一:
<div id="field-person">Blah</div>
<div id="field-company">Blah 2</div>
这是我现在拥有的select
和jQuery,当选择A person
选项时,应该显示#field-person
,否则应保持隐藏状态:
<select name="sub_type" id="sub_type">
<option value="company">A company</option>
<option value="person">A person</option>
</select>
$(document).ready(function() {
var f = $("#field-person");
$("#sub_type").change(function() {
if (this.checked && this.value == "person") {
f.show();
} else {
f.hide();
}
}).change()
});
然而,当我选择person
选项时,没有任何反应,选择company
选项也是如此。没有更改,Chrome控制台中没有任何内容。
现在已经把我的头发拉了一个小时大约一个小时,任何帮助都会受到赞赏,jQuery不是我强大的西装!
以下是我正在使用的实际代码的链接:JSFiddle
答案 0 :(得分:2)
将您的if语句更改为:
if (this.value == "person") {
...
}
select
元素没有.checked
属性。因此this.checked
会返回undefined
,这会使条件成为错误。