我正在编写一个 javascript 递归函数,但总是给我 0 值。下面是我的代码片段和显示标记的屏幕截图:
getOdometerEnd: function(object){
var previous = jQuery(object).closest('tr').prevAll();
var odometerEnd = parseInt(previous.find('input[name=odometer_end\\[\\]]').val());
console.log(previous.find('input[name=destination\\[\\]]').val());
if(odometerEnd == 0){
this.getOdometerEnd(previous);
}
return odometerEnd;
},
updateOdometer: function(){
var self = this;
var distance = 0;
var odometerStart = 0;
var odometerEnd = 0;
jQuery('.app-table tr').each(function(index, object){
distance = jQuery(object).find('input[name=distance\\[\\]]').val();
if(typeof distance != 'undefined' && distance > 0){
if(index == 1){
odometerStart = jQuery(object).find('input[name=vehicle_odometer\\[\\]]').val();
}else {
odometerStart = self.getOdometerEnd(object);
}
odometerEnd = parseInt(odometerStart)+parseInt(self.userDistance(distance));
jQuery(object).find('input[name=odometer_start\\[\\]]').val(odometerStart);
jQuery(object).find('input[name=odometer_end\\[\\]]').val(odometerEnd);
}
});
},
我不知道我在哪里弄错了,但它在倒数第二次递归时给了我正确的值,但最后它再次返回 0。请你帮帮我。我在此处附上了一张显示我的标记的图片。
PS Stack 溢出不允许我发布图片。或者,您可以在此处查看图片:http: //www.yourcarlog.com/odometer-problem.jpg
提前谢谢。