循环只运行一次
For loop running only once
我遇到了一个小问题,这里有10多个表行,但我的代码只执行一次。这是我的密码。请帮我处理这个
var rowlength = $("#totalLostProductGrid tbody tr ").length;
for(var i=1;i<=rowlength;i++){
var startDateVal = $("#lpostartDate_"+i).val().split(/-|'s|:/);
var endDateVal= $("#lpoendDate_"+i).val().split(/-|'s|:/);
var lostProductValue = $("#lostProductionStartToEnd_"+i).val();
var realEndDateVal = $("#eEndTime").val().split(/-|'s|:/);
var FLNominalvalue = $("#idNominalPower").text();
var idEstimatedLostProdVal = $("#idEstimatedLostProd").val();
var durationTime = ((new Date(endDateVal[2],endDateVal[1],endDateVal[0],endDateVal[3],endDateVal[4],endDateVal[5])) -(new Date(startDateVal[2],startDateVal[1],startDateVal[0],startDateVal[3],startDateVal[4],startDateVal[5])) ) / 1000 / 60 / 60;
var actualVal = durationTime * lostProductValue;
alert(actualVal);
if(actualVal < FLNominalvalue){
alert("success");
return false;
}else{
alert("invalid case");
return false;
}
}
如果正常,则不需要返回false
$("#totalLostProductGrid tbody tr").each(function(i) {
i++; // assuming your fields start at 1
var startDateVal = $("#lpostartDate_"+i).val().split(/-|'s|:/),
endDateVal= $("#lpoendDate_"+i).val().split(/-|'s|:/),
lostProductValue = $("#lostProductionStartToEnd_"+i).val(),
realEndDateVal = $("#eEndTime").val().split(/-|'s|:/),
FLNominalvalue = $("#idNominalPower").text(),
idEstimatedLostProdVal = $("#idEstimatedLostProd").val(),
durationTime = ((new Date(endDateVal[2],endDateVal[1],endDateVal[0],endDateVal[3],endDateVal[4],endDateVal[5])) -(new Date(startDateVal[2],startDateVal[1],startDateVal[0],startDateVal[3],startDateVal[4],startDateVal[5])) ) / 1000 / 60 / 60;
var actualVal = durationTime * lostProductValue;
console.log(actualVal);
if(actualVal < FLNominalvalue){
console.log(i+":success");
}else{
alert("row #"+i+" contains an invalid case");
return false;
}
});
或仅在不正常时返回false:
$("#totalLostProductGrid tbody tr").each(function(i) {
i++; // assuming your fields start at 1
var startDateVal = $("#lpostartDate_"+i).val().split(/-|'s|:/),
endDateVal= $("#lpoendDate_"+i).val().split(/-|'s|:/),
lostProductValue = $("#lostProductionStartToEnd_"+i).val(),
realEndDateVal = $("#eEndTime").val().split(/-|'s|:/),
FLNominalvalue = $("#idNominalPower").text(),
idEstimatedLostProdVal = $("#idEstimatedLostProd").val(),
durationTime = ((new Date(endDateVal[2],endDateVal[1],endDateVal[0],endDateVal[3],endDateVal[4],endDateVal[5])) -(new Date(startDateVal[2],startDateVal[1],startDateVal[0],startDateVal[3],startDateVal[4],startDateVal[5])) ) / 1000 / 60 / 60;
var actualVal = durationTime * lostProductValue;
if(actualVal >= FLNominalvalue){
alert("row #"+i+" contains an invalid case");
return false;
}
});
在循环结束时,您将从它返回,实际上是退出它。
此外,您确定要从索引1而不是0开始吗?(var i=0)
if(actualVal < FLNominalvalue){
alert("success");
return false;
}else{
alert("invalid case");
return false;
}
这意味着无论结果如何,它都将返回false,这将结束每个
相关文章:
- 使用每500ms运行一次的jquery函数是个好主意吗
- For循环在Jquery中只运行一次
- 谷歌图表在运行应用程序时只能显示一次
- 使函数只运行一次(Javascript)
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 可能只在for循环内部运行一次代码块
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- 在Flask中使用.getJSON请求时,只运行一次命令
- 运行“;非“;单击另一个函数中的函数仅一次
- JavaScript只有在最后一次被调用时才运行函数
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 您可以在节点.js上一次运行多个应用程序吗?
- 如何一次运行一次循环javascript
- 从命令行一次运行大量摩卡测试的好方法是什么
- 如何让 JavaScript 一次运行一个字符串
- 无法在一次运行中删除多个数组元素
- 如何使jquery函数一次运行一个
- 在一次运行中分配并返回一个变量
- 一次运行2个动画