尝试检查文本框是否可见,然后用户应在其中输入值。 下面的部分不起作用。
if ($(':text.TextNormalJQH').is(':visible').filter('[value=""]').length > 0)
{
alert (" Entering data for all the visbile textboxes is mandatory");
}
提前致谢
BB
答案 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");
}