Reputation: 26556
What is wrong with this code...
var objects = $(".validated").filter(function(){
return $(this).attr("name") == 'name';
}).filter(function (){
return $(this).val() == '';
});
Its really bugging me :(
Upvotes: 1
Views: 536
Reputation: 54605
var objects = $(".validated").filter(function() {
var ele = $(this);
return ele.attr("name") == 'name' || ele.val() == '';
});
Upvotes: 2
Reputation: 1905
Filter will remove an element when the function returns false. So you want it to return false when you encounter an element with name="name" and when it is empty.
var objects = $(".validated").filter(function(){
// Will return false when name="name"
return $(this).attr("name") != 'name';
}).filter(function (){
// Will return false when the value is blank
// Added trim to ensure that blank spaces
// are interpreted as a blank value
return $.trim($(this).val()) != '';
});
A shortened version would be:
var objects = $(".validated").filter(function(){
// Will return false when name="name" or blank value
return $(this).attr("name") != 'name' && $.trim($(this).val()) != '';
});
Upvotes: 0