0

我被分配了一个任务,用户必须选择一个大学校园并单击继续按钮。我唯一无法工作的是,当没有选择单选按钮并单击继续按钮时,应该会出现一条错误消息,指出“您尚未选择大学校园,请再试一次。'

除了这个错误代码,我还有其他一切工作。我似乎无法得到它。出现一条错误消息,说明“未定义”,它来自按钮的单击功能。有人可以帮忙吗?

<html>
<head>
    <style>
        input, label { line-height: 1.5em; }
    </style>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
    <form>
        <div>
            <input type="radio" name="university" value="Ah, we are not on the same site" id="Belfast">
            <label for="Belfast">Belfast</label>
        </div>
        <div>
            <input type="radio" name="university" value="Yeah, we are on the same campus" id="Jordanstown">
            <label for="Jordanstown">Jordanstown</label>
        </div>
        <div>
            <input type="radio" name="university" value="Ah, we are not on the same site" id="Coleraine">
            <label for="Coleraine">Coleraine</label>
        </div>
        <div>
            <input type="radio" name="university" value="Ah, we are not on the same site" id="Magee">
            <label for="Magee">Magee</label>
        </div>
        <div id="log"></div>
    </form>

    <input type="button" value="Continue" id="click">
</body>
</html>

<script>
    $(function () {
        $("#click").click(function () {
            alert($("input[type=radio]:checked").val());
        })
    });
</script>
4

2 回答 2

0

而不是$("input[type=radio]:checked").val()尝试检查长度,如下所示:

$(function () {
    $("#click").click(function(){
        if ($("input[type=radio]:checked").length == 0) {
            alert( 'Your message goes here' );
        }
    })
});

当您使用.val()jQuery 时,会拉取所选单选按钮的值。由于没有选择单选按钮,因此您将获得undefined. 如果您使用.lengthjQuery,则返回与您的选择器字符串匹配的元素数。在这种情况下,如果未检查任何内容,您将得到 0。

于 2013-03-07T15:43:45.593 回答
0

http://jsfiddle.net/VMLg9/

$("#click").click(function(){
    my_val = $("input[type=radio]:checked").val();

    if( my_val === undefined){
        alert("MY_VALIDATION_ERROR");
    } else {
        alert($("input[type=radio]:checked").val());
    }

})
于 2013-03-07T15:43:05.747 回答