jquery检查是否选中了选项

时间:2013-02-26 22:48:16

标签: javascript html css jquery-selectors

我遇到的情况是我需要查看是否选择了一个选项。当我点击一个按钮时,如果没有选择一个选项,选择框应该变成红色并给我一个警告。这是行不通的。我对if语句有困难。任何解决方案?

的Javascript

$(document).ready(function(){

var $films = [];

$("#button").click(function(){
    var $titelBetyg = [];

    var $titel = $('#name').val();
    var $betyg = $('#options').val();

    if($titel == ""){
        $('#name').css('background-color', 'red');
        alert("Fail");
    }
    else if($betyg == "0"){
        $('#options').css('background-color', 'red');
        alert("Fail");
    }
    else{
        $titelBetyg.push($titel);
        $titelBetyg.push($betyg);
        $films.push($titelBetyg);
    }

    $('#rightbar').append($films);
});

});

HTML

<body>
<div id="page">
    <div id="header">
        <h1> Min filminsamling </h1>
    </div>
    <div id="leftbar">
        <form>
            <fieldset>
                <legend>Lägg till en film:</legend>
                Titel:
                <br><input type="text" name="name" id="name"><br>
                Betyg:
                <br><select id="options">
                    <option>Välj betyg här...</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>                        
                </select>
                <br><input type="button" name="button" value="Spara film" id="button">
            </fieldset>
            <fieldset>
                <legend>Sortera film:</legend>
                <input type="button" name="stigande" value="Högst betyg" id="stigande">
                <br><input type="button" name="fallande" value="Lägst betyg" id="fallande">
            </fieldset>
        </form>
    </div>
    <div id="rightbar">
        Filmer
    </div>
</div>
</body>

2 个答案:

答案 0 :(得分:3)

$betyg == "0"无效,因为根据用户界面不可能。

您的默认选项是......没有。也许是一个空字符串,""; <{1}}无处可见。

明确设置选项以检查并检查它。

答案 1 :(得分:1)

当您检查是否警告未选择任何内容时,您会查看“option”的值是否为“0”。然而,实际上没有为没有选择定义“0”的值,您只定义了值“1”到“5”。如果你要求价值未定义的东西,我不确定Javascript会有什么期望;我的第一个建议是将值“0”定义为没有选择,看看它是否有帮助。 :)