获取空白输入字段的ID

时间:2015-07-20 03:09:08

标签: javascript jquery

我有4个带有公共类名的输入字段。我用它来检查它是否空白。

var blank = $('.fourFields').filter(function(){ 
   return !$.trim($(this).val()).length;
}).length;
if( !blank ){
   //do something
} else {
   //how do I use addClass() to the blank input fields here?
}

我的问题是如何获取空白输入字段的ID?

4 个答案:

答案 0 :(得分:3)

您可以使用.map()来获取值为空白的输入ID数组

var ids = $('.fourFields').map(function(){ 
   return $.trim($(this).val()) ? undefined : this.id;
}).get();

如果要添加一个类,那么更合适的解决方案是使用.each()

var ids = [];
$('.fourFields').each(function () {
    var blank = $.trim(this.value);
    if (blank) {
        ids.push(this.id);
    }
    $(this).toggleClass('required', blank);
});

答案 1 :(得分:0)

ID将是this.id(注意,没有$)

答案 2 :(得分:0)

作为非jQuery替代方案,您可以使用以下命令获取id数组:

var ids = Array.prototype.filter.call(document.querySelectorAll('input'),
  function(el){return /^\s*$/.test(el.value)}
).reduce(function(p,c){p.push(c.id); return p;},[]);

并且还要做类部分(使用jQuery):

var ids = Array.prototype.filter.call(document.querySelectorAll('input'),
  function(el){return /^\s*$/.test(el.value)}
).reduce(function(p,c){
  $(c).addClass('whatever');
  p.push(c.id); 
  return p;
},[]);

答案 3 :(得分:0)

要获取空白输入字段的ID,您可以使用以下代码:

 $(".fourFields").filter(function(){ 
         if($(this).val() === '')
       return  alert($(this).prop('id'));
         });

你可以参考下面的小提琴: http://jsfiddle.net/varun1989/17wkzgqj/2/