选择未选中

时间:2009-07-01 18:29:27

标签: javascript jquery

我有一个包含4个下拉列表的表单。所有下拉列表中的默认选择选项是“请选择”。我想使用Jquery确保所有下拉列表在提交页面之前都有值,但我的代码仅适用于第一个。有没有人能够一次检查所有下拉菜单?

function doconfirm() {
  if ($('select').val() == '') {
    alert("Please Select All Fields");
   }  
}

我确定我错过了一些东西,但我无法弄明白。 感谢

4 个答案:

答案 0 :(得分:8)


function doconfirm() {
  if ($('select').each(function() {
    if($(this).val() == '') {
         alert("Please Select All Fields");
         return(false);
    }  
  });
}

答案 1 :(得分:4)

@mgroves方法稍有不同,此显式测试至少一个选定的选项,并对第一个没有选项的选项发出警报。如果这种方法有任何优势,那么它的可读性更好(特别是因为.val()的使用对于这个目的来说有点模棱两可):

function doconfirm() {
  if($('select').each(function() {
    if(!$(this).find('option:selected').length) {
         alert("Please Select All Fields");
         return(false);
    }  
  });
}

答案 2 :(得分:1)

对此不同的看法为什么不使用

function doConfirm() {

    var toReturn = true;

    if ( $('select').filter( function(){
            return $(this).val() === ''; 
         }).length ) {

        toReturn = false;
        //notify user

    }

    return toReturn;
}

答案 3 :(得分:0)

$('select').each(function(s){if(!this.val())...});