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

时间:2014-03-26 11:17:24

标签: 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" 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>

显然我有一个提交按钮,但我还没有包含它,我有4个其他表单字段是文本,他们的JS工作正常,它只是选择按钮,思考我可能有语法或错误。

我似乎无法理解为什么它根本没有做任何事情,任何帮助都会受到赞赏。

4 个答案:

答案 0 :(得分:6)

像这样检查 -

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

-----> http://api.jquery.com/val/

答案 1 :(得分:1)

你应该试试

if($('#location').val() == 'not supplied') { .. }

答案 2 :(得分:1)

为了比较,你必须像下面这样写,因为你设置的是值而不是

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

请仔细阅读我做过一些改动,包括在html中。

http://jsfiddle.net/avmCX/20/

答案 3 :(得分:0)

请执行以下操作=&gt;

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

您使用val设置值(&#34;某些&#34;)。这里我得到了值,然后与其他值进行比较。