我写了这个用于检查页面加载的数据验证:
$("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");
});
有没有办法在一个命令中绑定它们?
答案 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();