-1

我想知道为什么它不起作用。

这是我的 JS:

$("#cat-code").change(function(){
  var value = $("#cat-code option:selected").val();
  if (value == "10400000"){
    $("#div1").show();
    $("#div2").hide();
  }
});

选择标签:

<select class="cat-code" id="cat-code" name="project_procurement_management_plan[items_attributes][0][category_id]">
  <option value="1">10400000</option>
  <option value="2">10401000</option>
</select>

要显示或隐藏的 div:

<div class="div1">hi</div>
<div class="div2">hello</div>

任何解决方法将不胜感激。谢谢。

4

2 回答 2

5

看起来您的 JS 是对具有 ID 的 DOM 对象的引用,但您的 HTML 有类。

试试这个 JS:

$(".div1").show();
$(".div2").hide();
于 2013-03-23T23:58:40.537 回答
2

您已将值专门设置为 1 和 2,所以它们可能就是这样:

$("#cat-code").change(function(){
  var value = this.value;
  if (value == "1"){
    $(".div1").show();
    $(".div2").hide();
  }
});

小提琴

如果选项没有值,选项文本将仅用作选择值,并且要获取选定的值,您只需要this.value在选择的处理程序中。

于 2013-03-23T23:58:53.453 回答