检查页面上所有可见的文本框应该具有值JQuery

时间:2012-01-27 00:44:46

标签: jquery jquery-selectors

尝试检查文本框是否可见,然后用户应在其中输入值。 下面的部分不起作用。

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

提前致谢

BB

2 个答案:

答案 0 :(得分:3)

你真的很亲密。只需将其更改为:

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,filter返回匹配的项目。 http://api.jquery.com/is/

答案 1 :(得分:0)

你需要做一个.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");
}