在jquery中验证下拉列表

时间:2011-03-20 16:29:44

标签: jquery html

我在html中有一个下拉列表,我想使用jquery验证它。

 Please select your rating * :
    <select id="myDropdown">
    <option value="">-Please Select-</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="4">Four</option>
    <option value="5">Five</option>
    </select>

我的Jquery代码就像

if ($('#myDropdown option:selected').length == 0)
    {
      alert("Please select anyone");
    }

我需要的是,如果没有选择任何值,它仍然像 - 请选择 - 如果用户按下提交按钮,则需要显示警报或任何相应的消息 请帮忙

2 个答案:

答案 0 :(得分:6)

mydropdown = $('#myDropdown');
if (mydropdown.length == 0 || $(mydropdown).val() == "")
{
    alert("Please select anyone");
}

请参阅下面的注意。此外,您不需要option:selected(根据Sly的原始答案)。

在这个小提琴上,尝试选择其他值,然后尝试选择-Please Select-选项。您会看到alert()

http://jsfiddle.net/userdude/aS2AM/

修改

注意:长度测试什么都不做,因为它总是报告1,因为总是至少选择一个选项(并且你的选择器总是选择至少一个选项,除非选择有没有选择)。我已在此更新中删除了以下小提琴和代码:

http://jsfiddle.net/userdude/LdN6c/3/

您没有捕获表单提交事件。

$(document).ready(function() {
    $('#myForm').submit(function(e){ // <<< This selector needs to point to your form.
        if ($('#myDropdown').val() == "") {
            alert("Please select anyone");
            e.preventDefault();
            return false;
        }
    });
});

请注意#myForm需要选择包含所选元素的实际表单元素。

请点击此处:http://jsfiddle.net/userdude/LdN6c/1/

答案 1 :(得分:-1)

jQuery(function($) {
    $('#myForm').submit(function(e) {
        if ($('#myDropdown').val() == '') {
            e.preventDefault();
            alert("Please select anyone");
        }
    });
});
  • 使用表单提交事件处理程序
  • 进行编辑