0

ドロップダウンにアラートを表示するようにこの機能を修正しようとしています。どこが間違っていますか?アラートは表示されません。

JS:

<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function () {
    $( "#species" ).change(function(){
    if ( $(this).children(":selected").val() == "" ) {
    alert("empty");
    }
    });
});
});
</script>

形:

<form>
<label for="species" id="species">*Species:</label><br />
<select id="species" name="species" size="1">
<option value="">Please choose a species</option>
<option value="21">Chicken</option>
<option value="28">Turkey</option>
</select>
<br />
<input type="submit" id="submit" value="Validate!" />
</form>
4

2 に答える 2

1

2 つのイベントがあり、2 つ目はクリック イベントにバインドされています。

おそらく、次のようなものが必要です。

<script type="text/javascript">
$(document).ready(function(){
    $("#submit").click(function () {
    if ( $("#species" ).children(":selected").val() == "" ) {
       alert("empty");
    }
    });
});
});
</script>
于 2013-03-21T15:07:22.160 に答える
0

いくつかのこと: 1.ラベルの id が、 select要素の場合と同じであり、jQuery を混乱させます。

  1. クリック イベントを selectBox の変更イベントにバインドしましたが、これは必要ありません。

これを試して:

$(document).ready(function(){
   $("#submit").click(function (e) {
       if($('#species').find(":selected").val()===""){
         alert("empty");
       }    
       e.preventDefault()
    });
});

http://jsfiddle.net/6SuvK/

于 2013-03-21T15:17:56.077 に答える