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?
Why you have to use
filter
and not[value=""]
you can see in this DEMOThe reason is: attribute selectors check the initial state of the element, not the current state. (note that you can change the "initial" state with the
attr
function, but it's bad practice, you should always useprop
)So if you change the input value, the current value won't effect the attribute selector. not wise...
:)
Notes:
.val()
returns the value of the form element, and breaks the jQuery chain,$('selector').val().addClass('foo')
Error, the return value is a string\ number.val(valueToSet)
sets the value of the form element and doesn't break the jQuery chain.$('selector').val("some value").addClass('foo')
- Valid, the returned value is a jQueryto get all fields inspected this might help.