这是我的js小提琴链接: http://jsfiddle.net/m4tyC/
我有多个选择标签,我想在提交时验证,例如
至少如果在第一组中选择了size1和color1和Qty1中的一个,并且如果选择了一个,我想验证其他组,并且如果选择了至少一个组,则表单可以提交,如果用户从第二组中选择了一个选项我对第二组size2,color2,...执行相同的验证类型。
我感谢任何帮助,我在我的项目中使用jquery
答案 0 :(得分:1)
这是一些JQuery代码。您可以自己弄清楚如何提交表单:
$(document).ready(function(){
$("form").submit(function(event)
{
var is_valid = true;// for avoiding alerting in loop
event.preventDefault();
$(this).find("select").each(function(){ //usually default is the first
if(!$(this).attr("selected"))
{
$("#"+$(this).attr("id")).each(function()
{
if($(this).find("option:first").attr("selected"))
{
is_valid = false;
}
});
}
});
if( !is_valid )
alert("Please make sure all values are set for row!");
});
});
见jsFiddle。也有一些错误,但你可以解决这个问题。
答案 1 :(得分:1)
试试这个(只有在完全选择了至少一行时才会提交表单)
$(function(){
$('#frm_productOrder').on('submit', function(e){
e.preventDefault();
var f=$(this);
var invalid=false, selected=0;
$('.selects').each(function(){
var row=$(this);
var items=0;
$('select', row).each(function(){
var t=$(this);
var selectedIndex=t.prop("selectedIndex");
if(selectedIndex) items++;
});
if(items==3) selected++;
if(items>0 && items<3) invalid=true;
items=0;
});
if(selected>0 && !invalid) f[0].submit();
else alert('Please fill up the form correctly');
});
});