0

ドロップダウン ボックスから特定の値が選択されたときに、jQuery の show() 関数を使用してフォームの別のセクションを表示したいと考えています。現在、ヘッダーの上のコードは次のようになっています。

<script>   
    $(":input#location").change(function(){
      if($(this).val() === 'On Rental'){
        $('div#dpo').show("slow");
      }
    }
</script>

そして、フォームは次のようにコーディングされます。

<p>
    <strong><label for="location">Location</label></strong>
</p>
<select name="location" id="location">
    <option value="Clarksville">Clarksville</option>
    <!--etc.-->
</select>

<div id="dpo" style="display:none">
  <!--Stuff I want to show here.-->
</div>

何らかの理由で、ドロップダウン フィールドから [レンタル中] を選択しても何も起こらず、何が間違っているのか一生わかりません。誰かが私が間違っていることを見ることができますか?

4

4 に答える 4

1

値をトリムして以下のように試してください

$("#location").change(function(){ 
      if($.trim($(this).val()) == 'On Rental'){
         $('#dpo').show("slow");
       }
     } 
于 2012-08-21T16:03:54.853 に答える
0
<script>   
$("input#location").change(function(){
  if($(this).val() === 'On Rental'){
    $('div#dpo').show("slow");
  }
}
</script>
于 2012-08-21T16:02:41.217 に答える
0

これを document.ready 関数でラップします。IDまた、セレクターを使用することもできます。そして、あなたの選択は入力タイプではありません..

$(function(){
    $("#location").change(function() {
        if ($(this).val() === 'On Rental') {
            $('#dpo').show("slow");
        }
    }​
})

http://jsfiddle.net/wirey00/FYwPv/

于 2012-08-21T16:04:47.290 に答える
0

上記のすべての提案 (document.ready 関数でラップすることを含む) を試しましたが、うまくいきませんでした。ヘッダーではなくドキュメントの下部に配置すると、最終的にコードが機能するようになりました(最初に持っていたように)。なぜそれが...?

于 2012-08-22T14:20:49.333 に答える