未选择表单选择输入时的jQuery警报

未选择表单选择输入时的jQuery警报,jquery,Jquery,当下拉菜单的选定值等于“未提供”时,我想显示一个警报,这是我的js: function ValForm() { if($('#location option:selected').val('not supplied')) { alert("Please select a location."); $('#location').focus(); return false; } return true; } 这是我的HTML: <form name="contact"

当下拉菜单的选定值等于“未提供”时,我想显示一个警报,这是我的js:

function ValForm() {
if($('#location option:selected').val('not supplied')) {
    alert("Please select a location.");
    $('#location').focus();
    return false;
}
return true;
}
这是我的HTML:

<form name="contact" method="post" onsubmit="return ValForm();">
    <div class="control-group">
        <div class="controls">
            <select name="location" id="location" class="span12">
                <option value="not supplied">Location</option>
                <option value="option1">Option 1</option>
                <option value="option2">Option 2</option>
                <option value="option3">Option 3</option>
            </select>
        </div>
    </div>
</form>

位置
选择1
选择2
选择3
显然,我有一个提交按钮,但我只是没有包括它,我有4个其他表单字段是文本,它们的JS都工作正常,只是选择按钮,我想我可能有语法或一些错误

我似乎不明白它为什么什么都不做,感谢您的帮助。

像这样检查它-

if($('#location').val() == 'not supplied'){
  //alert
}
----->

你应该试试

if($('#location').val() == 'not supplied') { .. }
执行以下操作=>

if($('#location').val() === 'not supplied')
{
 alert("Please select a location.");
    $('#location').focus();
    return false;
}

您正在使用val(“某物”)设置值。在这里,我获取值,然后与其他值进行比较。

要进行比较,您必须像下面这样写,因为在您的情况下,您是在设置值,而不是获取值

if($('#location').val() == 'not supplied'){
  alert("Please select a location.");
  $('#location').focus();
  return false;
}
请通过小提琴我做了一些改变,包括在html也


您正在此处设置值:
$(“#位置选项:已选择”).val('not supplied')
我认为不应该否决这个问题……尝试转储$('#location').val()的内容