Jquery .is()类可选用法

时间:2011-03-23 19:46:50

标签: jquery html

进行表单验证时,我遇到了以下代码:

//check each input to ensure it isn't empty
$( "#frmReservation :input" ).each( function(i) {
    if($(this).val() == '' && !$(this).is('.optional'))
    {
        success = false;
    }
});

“可选”是在每个输入上定义的类,也就是可选的。问题是可选子句被忽略。每个输入都包含在div中,但我认为这不重要。建议?

4 个答案:

答案 0 :(得分:2)

也许试试这个:

if(.. !$(this).hasClass('optional')) 

答案 1 :(得分:2)

适合我。

Fiddle

答案 2 :(得分:1)

如何使用if($(this).val() == '' && !$(this).hasClass('.optional'))

答案 3 :(得分:1)

我对这个问题有点迟了。更好的方法是在聚焦输出时动态检查输入。具有可选类的输入将不计算在内。

$('input').not('.optional').blur(function() {
    if ($(this).val().length < 1) {
        $(this).addClass('error')
    } else {
        $(this).removeClass('error')
    }
})

检查http://jsfiddle.net/m6gdK/1/

处的工作示例