1

このコードを使用して、送信前にドロップダウン オプションが選択されているかどうかを確認します。私のページには 3 つのドロップダウン メニューがありますが、最初のメニューだけが正しく機能します。

2 番目と 3 番目のドロップダウンの機能を拡張する方法はありますか?

私のスクリプト:

<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
var year = $('#year option:selected').val();
if(year == "")
{
$("#msg").html("Please select a year");
return false;
}
});
});
</script>

私のHTML:

<div id="msg"></div>
<form method="post" action="">
<select id="year">
<option value="">OLLA</option>
<option>1991 </option>
<option>1992 </option>
<option>1993 </option>
<option>1994 </option>
<option>1995 </option>
</select>


<div id="msg"></div>
<form method="post" action="">
<select id="year">
<option value="">OLLA</option>
<option>1991 </option>
<option>1992 </option>
<option>1993 </option>
<option>1994 </option>
<option>1995 </option>
</select>

<input type="submit" name="submit" id="submit">
</form>
4

4 に答える 4

3

IDは一意で、一度だけ使用する必要があります。msg代わりにすべてのクラスを提供することをお勧めします。

<div class="msg"></div>
...
<div class="msg"></div>

また、同じ理由で、代わりに選択したクラスにもクラスを与えてください。

<select class="year">

jQuery も次のように変更されます。

<script type="text/javascript">
$(document).ready(function(){
  $(".submit").click(function(){
     var year = $('.year option:selected').val();
     if(year == "") {
        $(".msg").html("Please select a year");
        return false;
     }
  });
});
</script>
于 2013-03-20T22:37:28.910 に答える
0

もちろん、DDL にアクションを設定して、値が設定されていることを確認し (送信ボタンを後で有効にする)、送信ボタンではなく、コントロール自体に検証を直接強調することもできます。(同じ猫の皮を剥ぐ別の方法です!)

于 2013-03-20T22:49:40.487 に答える
0

両方の要素の ID が同じであるため、セレクターは最初の ID でこのケースに一致するように動作します。別の ID を使用するか、ID の代わりにクラスを使用するか、jquery の各関数を使用してみてください http://api.jquery.com/each/

于 2013-03-20T22:35:07.997 に答える