-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();
  }
});

フィドル

オプションテキストは、オプションに値がない場合にのみselects値として使用され、選択された値を取得するために必要なのはthis.value、selectのハンドラー内だけです。

于 2013-03-23T23:58:53.453 に答える