我试了近两天但仍然没有。也许有人可以帮助谁在javascript循环中具备高超的技能。
之前我问过这个问题并更改了一些代码,但仍无法显示预期的数据。并且还在努力争取这个。
我有这段代码:
$(function(){
var len = $('#groupContainer > div').length;
var data = [];
for(var i=0; i < len; i++){
var number = $('#number_' + [i + 1]);
var date = $('#date_' + [i + 1]);
var count = i + 1;
var message ="";
var a = number.map(function(){
return this.value;
});
var b = date.map(function(){
return this.value;
});
var newObj = {number: a[0], date: b[0]}
data.push(newObj);
}
var message = "";
for(var c = 0; c < data.length; c++)
{
haveErrorInGroup = false;
for(var d in data[c])
{
if(data[c].hasOwnProperty(d))
{
if(data[c][d] == "")
{
if(!haveErrorInGroup){
haveErrorInGroup= true;
message += 'Group: ' + [c + 1] + '\n';
}
message += d + ' is required!\n';
}
if(d == "date")
{
if(data[c][d].length != 22 && data[c][d] != "")
{
message += 'Invalid Date!\n';
}
}
}
}
}
if(message){
alert(message);
}
});
预期的产出:
如果组1中的所有字段都已填满且组2未显示警告框:
Group 2:
Number is required!
Date is required!
如果所有字段都未填写显示:
Group 1, 2 Number is required!
Group 1, 2 Date is required!
如果日期不是真正的日期:
Group 1, 2 Date is invalid.
如果其中一个输入无效。
Group 2 Date is invalid.
如果所有字段都填空,则不执行任何操作。
这是我的 FIDDLE