我有一个包含15个字段的表单(包括输入类型,选择框,文本区域)。
我可以通过普通方式编写一个函数来验证这个表单,但这不是智能编码。在这种情况下我需要使用每个。
这就是我的想法:
$("#id1, #id2, #id3... #id15").each(function(){
if ($(this).val == "") {
$(this).closest("#error").css("display", "block");
}
})
如果这个验证是基于类的还是基于id的,我会采用正确的方法吗?我是否在正确的上下文中使用each()?
答案 0 :(得分:7)
您可以在此处使用:input
选择器选择表单中的所有输入元素,如:
$("#formID :input").each(function () {
if ($(this).val() == "") {
$(this).closest("#error").css("display", "block");
}
});
或者可以将特定类添加到您要验证的所有输入中,如validate
,并执行以下操作:
$(".validate").each(function () {
if ($(this).val() == "") {
$(this).closest("#error").css("display", "block");
}
});
文档: http://api.jquery.com/input-selector/
说明:选择所有输入,textarea,select和按钮元素。
答案 1 :(得分:2)
或者在表单
中包含id属性的任何标记$('form *[id]')
或名称attr会更好
$('form *[name]')
答案 2 :(得分:-1)
如果您有多个输入,选择和表单元素,请向每个元素添加类似“input-group”的类,然后迭代该组。
$("form .input-group").each(function(){
if ($(this).val == "") {
$(this).closest("#error").css("display", "block");
}
})