如何检查JavaScript中是否选择了下拉列表

时间:2013-12-04 15:22:00

标签: javascript jquery

我有一个验证器函数循环检查并查看是否所有输入都已填写,但我还需要检查下拉列表是否也被选中。我想把它写成同一个函数。

    function validateSave (){
        // reset status
       var good = true                                       
       $('.errormessage-left').removeClass('active-left')
       $('input').removeClass("warning")
       $('input').each(function(){
           if ($(this).val() == "") {
           console.log("found an empty");
           good = false
           $(this).addClass("warning")
           $('.errormessage-left').addClass('active-left'),
           $('.modal').addClass('modal-active'); 
        }
    })
    console.log(good)
    return good
    }

最好的方法是什么?

5 个答案:

答案 0 :(得分:1)

您可以在下拉列表(val()元素)上使用<select>,就像输入元素一样,只需将其包含在选择器中

$('input, select').each(function(){

答案 1 :(得分:0)

你可以这样做:

假设第一个元素是:“请选择......”

if ($(".myDDL").get(0).selectedIndex>0)...

if ($(".myDDL").prop('selectedIndex')>0)...

答案 2 :(得分:0)

你应该可以将它添加到循环中:

if ($(this).prop('type')=='select-one'){
   if ($(this).prop('selectedIndex')==0){
      console.log("found an empty");
      good = false
      $(this).addClass("warning")
      $('.errormessage-left').addClass('active-left'),
      $('.modal').addClass('modal-active'); 
   }
}

答案 3 :(得分:0)

试试这个:

$('input').each(function(){
           if($(this).prop('selected') == true){
              // selected item
           }
});

答案 4 :(得分:0)

假设您的HTML看起来像这样:

<input type="text" name="whatever">
<select>
    <option value="">Choose One...</option>
    <option value="choice1">Choice 1</option>
    <option value="choice2">Choice 2</option>
    <option value="choice3">Choice 3</option>
</select>

然后你的jQuery可以像这样想出来

$('input, select').each(function(){
    if($(this).val() == ''){
        alert('Cannot be blank!');
    }
    else{
       //proceed
    }
}