我希望将多个表单的ID存储在一个数组中,然后使用这些ID来使用.valid()来验证表单。表单将具有唯一的ID orderProducts1,orderProducts 2等,我需要验证每个表单中的选择下拉列表,但不想写大量的javascript来执行此操作。
我已经设法将表单ID存储在数组中,但我无法获取要在我的函数中使用的数组元素的值。
我不是一个程序员,所以任何帮助/指针都会受到赞赏。
以下示例:
var productForm = [];
var formID = document.getElementsByTagName("form");
for (var i = 0; i<formID.length; i++) {
productForm.push(formID[i].id);
}
for (var i=0; i<productForm.length; i++) {
$(function() {
$('I NEED THE ARRAY ELEMENT HERE #item_add').click(function() {
if ($("select[name=packageOption]").valid()) {
}
else {
alert('Please choose a package option');
return false;
}
});
});
}
答案 0 :(得分:0)
$(
$('form').on('click','#item_add',function(){
if ($(this).find("select[name=packageOption]").valid()){
/* Do your fun stuff here */
}
else {
alert('Please choose a package option');
return false;
}
});
);
答案 1 :(得分:0)
您似乎在向表单中包含ID为item_add
的所有元素添加点击侦听器。
你可以通过比你正在做的更简单的方式实现这一目标。
JQuery允许根据给定的选择器匹配任意数量的元素。
所以你可以这样做:
$('#item_add form').click(function(){
/* Your handler */
});
然而,这里有一个重要的注意事项:应该始终只有一个具有给定ID的元素。
来自W3Schools ID page: id属性指定HTML元素的唯一ID(该值在HTML文档中必须是唯一的。)
而不是将item_add作为您的元素&#39; id,使它成为他们的类名之一。一个元素可以包含由空格分隔的任意数量的类名,任何数量的元素都可以具有相同的类名。
除了一个字符外,你的解决方案几乎保持不变:
$('.item_add form').click(function(){
/* Your handler */
});