如何检查是否选择了选择字段

时间:2011-04-17 05:42:37

标签: jquery

我有一个选择字段,当选择按钮#btnaddtocart时,我希望能够检查选择(名称=数量)是否为空,如果是,则向用户显示警报。否则不显示任何内容。该脚本有效,但问题是,如果选择确实包含警报仍然显示的值。这是为什么?

这是html

<select class="select" id="quantity" name="quantity">
<option selected="selected" value="">select one</option>
<option value="data1">data1</option>
<option value="data2">data2</option>
<option value="data3">data3</option>
</select>

这是js

$(document).ready(function() {

    $("#btnaddcart").click(function()
    {

         if($("input[name=quantity]").val() == null)
          {
               var data = $(this).val();
               alert(data);
          }
      });
});

4 个答案:

答案 0 :(得分:0)

你检查错了,这个:

if($("input[name=quantity]").val() == null)

应该是这样的:

if($('#quantity').val() == '')

input[name=...这样的选择器会查找具有指定<input>属性的name标记,但您需要<select>元素;由于您的<select>具有id属性,因此您只需使用ID选择器。

答案 1 :(得分:0)

你可以像

那样做
# not selected
if (!$("#quantity option:selected").length) {

}

答案 2 :(得分:0)

您不需要为此使用jQuery。在您的示例中,请尝试以下代码:

$(document).ready(function() {
    $("#btnaddcart").click(function(){
        var box=document.getElementById('quantity');
        var index=box.selectedIndex;
        // any one selected apart from the first option
        if(index!=0){
             var data=box.options[index].value;
             alert(data);
        }
    });
});

如果你真的需要索引,我实际上建议不要使用jQuery。

上面的一些操作可以简单编写,只是想告诉你如何获取选择框的各种属性。

答案 3 :(得分:0)

$("#btnaddcart").click(function()
{
     if($("#quantity").val() == '')
      {
           alert("cannot be null");
      }
    else{
           alert($(this).val());
    }
});

jsfiddle