jQuery - 在选择选项更改时,显示/隐藏DIV

时间:2016-07-10 22:37:13

标签: javascript jquery html

根据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

1 个答案:

答案 0 :(得分:2)

将您的if语句更改为:

if (this.value == "person") {
   ...
}

select元素没有.checked属性。因此this.checked会返回undefined,这会使条件成为错误。

Demo