jquery bind blur&每

时间:2014-07-03 11:46:30

标签: jquery validation bind each blur

我写了这个用于检查页面加载的数据验证:

$("input[min] , input[max]").each(function () {
    if(parseInt($(this).val()) < parseInt($(this).attr("min")) || parseInt($(this).val()) > parseInt($(this).attr("max"))) $(this).addClass("invalid");
    else $(this).removeClass("invalid");
});

然后对于用户输入验证我写了这个:

$("input[min] , input[max]").blur(function () {
    if(parseInt($(this).val()) < parseInt($(this).attr("min")) || parseInt($(this).val()) > parseInt($(this).attr("max"))) $(this).addClass("invalid");
    else $(this).removeClass("invalid");
});

有没有办法在一个命令中绑定它们?

1 个答案:

答案 0 :(得分:0)

绑定事件后触发blur事件。您不需要.each()

使用

$("input[min] , input[max]").blur(function () {
    if(parseInt($(this).val()) < parseInt($(this).attr("min")) || parseInt($(this).val()) > parseInt($(this).attr("max"))) {
        $(this).addClass("invalid");
    } else {
        $(this).removeClass("invalid");
    }
}).blur(); //Here You can also use .trigger('blur') 

改进,您可以使用.toggleClass( className, switch )

$("input[min] , input[max]").blur(function () {
    $(this).toggleClass("invalid", parseInt($(this).val()) < parseInt($(this).attr("min")) || parseInt($(this).val()) > parseInt($(this).attr("max")));
}).blur();