Проверьте, все ли видимые текстовые поля на странице должны иметь значение JQuery - PullRequest
0 голосов
/ 27 января 2012

Попытка проверить, видимо ли текстовое поле, затем пользователь должен ввести в него значение.следующий кусок не работает.

if ($(':text.TextNormalJQH').is(':visible').filter('[value=""]').length > 0) 
  {
     alert (" Entering data for all the visbile textboxes is mandatory");
  }

Заранее спасибо

BB

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Ты действительно близко. Просто измените его на:

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/

0 голосов
/ 27 января 2012

вам нужно сделать .each (), потому что это набор результатов (у вас есть более одного ввода текста на странице), поэтому может сработать следующее

var isOk = true;
$(':text.TextNormalJQH').each(function(){
   if ($(this).is(':visible') && $(this).val().length == 0))
        isOk =  false;
}) 

if(!isOk)
{
     alert (" Entering data for all the visbile textboxes is mandatory");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...