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 回答
0

您可以使用本机selectedIndex查找第一个选择的索引 - https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement

if($('#rating').get(0).selectedIndex === 0){alert("first item")}
于 2013-09-18T17:29:50.793 回答