1

評価フォームから値が選択されていない場合、Jqueryは私に警告しません。selected="selected" が実際に jquery の値として認識されているためでしょうか?

  <label for="rating">Rating</label>
    <select id="rating" name="rating" />
        <option selected="selected" disabled="disabled">Select a Rating</option>
        <option value="Terrible">Terrible</option>
        <option value="Fair">Fair</option>
        <option value="Ok">Ok</option>
        <option value="Good">Good</option>
        <option value="Excellent">Excellent</option>
       </select>


      $(document).ready(function(){

        // No value for movie_title
        if ($('#movie_title').val() == "" ) {
            alert ("No Film");
        }

        // No Value for actor
        if ($('#leading_name').val() == "") {
            alert ("No actor");
        }

        // No value for rating
        if ($('#rating').val() == "") {
            alert ("No Rating");
        }

        //No value for review
        if ($('#review').val() == "") {
            alert ("No review");
        }

    // Focus on first form field.
        $("input:text:visible:first").focus();

   })
4

3 に答える 3

2

これは、値が指定されていない場合、デフォルト値がテキストになるためです。

デフォルトのオプションにの値を0指定し、それに対してチェックします。

<option selected="selected" value=0 disabled="disabled">Select a Rating</option>
于 2013-09-18T17:28:25.800 に答える
1

$('#rating').val()戻り値null:

http://jsfiddle.net/KFpFq/

属性の追加valueは Chrome では機能していないように見えますが、確認することnullはできます。

console.log($('#rating').val()); //null
console.log($('#rating').val() == "0"); //false
console.log($('#rating').val() == null); //true
于 2013-09-18T17:33:37.167 に答える