这是我在(document).ready
中的代码$('.checkfirst').click(function() {
if ($(".textbox").is('.required')) {
var x = $(this).offset().top - 200;
$(this).focus();
$('html,body').animate({
scrollTop: x
}, 500);
divHint = '<div class="formHint">This is required!</div>';
$(this).before(divHint);
$(this).prev(".formHint").animate({
marginLeft: "380px",
opacity: "1"
}, 200);
} else {
$(".agreement").fadeIn();
}
});
.checkfirst
基本上是提交按钮。
有一些.textbox
类的字段,其中一些也有.required
类。如果此人编辑了输入字段,则会删除.required
。
因此,当用户点击.checkfirst
时,我希望它找到所需的字段,将divHint
放在所有字段旁边,然后滚动到所需的第一个输入字段(给出它也集中注意力。)
现在我知道我的代码只是将divHint
应用于提交按钮(this
)。我需要以某种方式设置一个循环,我不知道该怎么做。
答案 0 :(得分:1)
您正在寻找的函数是jQuery的each()函数。如果将它与某种验证标志变量结合使用,这应该非常简单。例如,您可以在checkfirst单击处理程序中放置类似的内容:
var validated = true;
$(".textbox").each(function(){
if ($(this).hasClass("required")){
validated = false;
//do all the animations here
}
});
if (validated)
$(".agreement").fadeIn();