如何选择空的输入(值=“”)使用jQuery(How to select empty inputs

2019-06-24 13:56发布

我如何检查(空值required一个段内)输入字段,然后添加一个类来他们在一个事件,使用jQuery? 到目前为止,我曾尝试:

jQuery("#sender_container input.required").val("").addClass("error");

但是,这似乎设定的值,而不是检查它。 有任何想法吗?

Answer 1:

jQuery("#sender_container input.required").filter(function() {
    return !this.value;
}).addClass("error");​

为什么你必须使用filter ,而不是[value=""]你可以看到这个DEMO

其原因是:属性选择器检查元件,而不是当前状态的初始状态。 (请注意,您可以用改变“初始”状态attr功能,但它是不好的做法,你应该总是使用prop

所以,如果你改变输入值,电流值不会影响属性选择。 不聪明的...... :)

笔记:

  • .val() 返回的形式元素的值,并且破坏了jQuery链, $('selector').val().addClass('foo') 错误 ,返回值是一个字符串\

  • .val(valueToSet) 设置形式元素的值,并且不破坏jQuery的链。
    $('selector').val("some value").addClass('foo') - 有效的 ,返回的值是一个jQuery



Answer 2:

$('input:text[value=]','#sender_container').addClass('error');

DEMO



Answer 3:

$('#sender_container input.required[value=""]').addClass('error')


Answer 4:

jQuery('#sender_container input.required[value=""]').addClass("error");

你可以试试这个:

$('input:not([value!=""])').addClass('error');

DEMO

注意:这个答案不应该被使用,并且它不会被删除的唯一理由是,因此可以从中得到教训。



Answer 5:

$field = $("#sender_container input.required");
if( ! $field.val())
{
    $field.addClass("error");
}

这种简单的方法可能工作。



Answer 6:

如果你只需要选择基于输入的初始属性值,那么下面会做:

var elements = $('#sender_container input.required[value=""]')

但要注意的是,如果这是不行的value属性不存在。 它还如果它已被用户或脚本更改不会为当前的输入值工作。

如果您想获得当前的输入值,你可以使用jQueryfilter功能:

var elements = $('#sender_container input.required').filter(function() {
  return this.value === '';

  // alternatively for "no value":
  // return !this.value;
})

你选择了jQuery元素后,您可以添加您的类:

elements.addClass('error');


Answer 7:

拿到检查这可能帮助各个领域。

$('#sender_container [required]').each(function(index)
{
       if (!($(this).val())) $(this).addClass('error');
}

});


Answer 8:

对于那些input.required不如下工作写:

jQuery('#sender_container input[required]').val("").addClass("error");


文章来源: How to select empty inputs (value=“”) using jQuery