Ты действительно близко. Просто измените его на:
if ($(':text.TextNormalJQH:visible').filter('[value=""]').length > 0) {
alert (" Entering data for all the visbile textboxes is mandatory");
}
Или вы можете сделать это:
if ($(':text.TextNormalJQH:visible').is('[value=""]')) {
alert (" Entering data for all the visbile textboxes is mandatory");
}
Причиной возникновения проблем является использование .is()
. По сути, он возвращает true, если какой-либо из сопоставленных элементов проходит его, фильтр возвращает сопоставленные элементы. http://api.jquery.com/is/