How to select empty inputs (value=“”) using jQuery

2019-01-07 16:01发布

How can I check for empty values of (required) input fields within a section, and then add a class to them on an event, using jQuery? So far, I have tried:

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

But that seems to SET the value, rather than checking it. Any ideas?

8条回答
冷血范
2楼-- · 2019-01-07 16:12

If you only need to select based on the initial attribute value of the input then the following will do:

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

But be aware that this won't work if the value attribute isn't present. It also won't work for the current input value if it has been changed by user or script.

If you'd like to get the current input value you can use jquery's filter function:

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

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

After you've selected the jquery elements you can add your class:

elements.addClass('error');
查看更多
Explosion°爆炸
3楼-- · 2019-01-07 16:15

For those input.required is not working write as below:

jQuery('#sender_container input[required]').val("").addClass("error");
查看更多
闹够了就滚
4楼-- · 2019-01-07 16:19
$('#sender_container input.required[value=""]').addClass('error')
查看更多
淡お忘
5楼-- · 2019-01-07 16:23
$('input:text[value=]','#sender_container').addClass('error');

DEMO

查看更多
干净又极端
6楼-- · 2019-01-07 16:25
$field = $("#sender_container input.required");
if( ! $field.val())
{
    $field.addClass("error");
}

this simple way may work.

查看更多
smile是对你的礼貌
7楼-- · 2019-01-07 16:28
jQuery('#sender_container input.required[value=""]').addClass("error");

You can try this:

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

DEMO

Note: This answer should not be used, and the only reason it wasn't deleted is so it can be learned from.

查看更多
登录 后发表回答