使用jQuery在单个元素内遍历
我是jQuery新手,来自prototype。我正在尝试遍历表单,以便在表单提交之前进行一些验证。页面上有同一表单的多个版本,带有css类,但没有单独的ID 以下是我将如何在原型中实现它:使用jQuery在单个元素内遍历,jquery,Jquery,我是jQuery新手,来自prototype。我正在尝试遍历表单,以便在表单提交之前进行一些验证。页面上有同一表单的多个版本,带有css类,但没有单独的ID 以下是我将如何在原型中实现它: $$(".validatedForm").each( function(form) { form.observe("submit", function(event) { var vForm = event.findElement("form"); var vCheckb
$$(".validatedForm").each( function(form) {
form.observe("submit", function(event) {
var vForm = event.findElement("form");
var vCheckbox = vForm.down(".validatedCheckbox");
if (vCheckbox.checked)
return true;
alert("Please accept the Terms and Conditions first");
event.stop();
return false;
}
}
我在jQuery中遇到的问题是,我不能在“event.target”元素上使用遍历方法,因为它没有像prototype那样进行扩展-如果我用dollarsign将其包围,我会得到页面上的每个表单 以下是
jQuery
的等价物:
$(".validatedForm").submit(function(e) {
var shouldSubmit = false;
$(this).children(".validatedCheckbox").each(function() {
if($(this).attr('checked')) {
shouldSubmit = true;
return; //return from closure.
}
});
if(!shouldSubmit) {
alert("Please accept the Terms and Conditions first");
e.preventDefault();
}
});
每个都是无关的。。。只需调用$('.validatedForm').submit(函数(事件){…});`将迭代添加处理程序的所有表单。@prodigitalson,是的。我忘了把它弄平。谢谢谢谢看起来它指向了正确的方向,但是,第4行的vCheckbox没有设置在任何地方。我应该将其设置为什么?别忘了单击正确答案旁边的空心复选标记!:)