Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环使用javascript/JQuery数组并获得';格兰德';全部的_Javascript_Jquery_Arrays - Fatal编程技术网

循环使用javascript/JQuery数组并获得';格兰德';全部的

循环使用javascript/JQuery数组并获得';格兰德';全部的,javascript,jquery,arrays,Javascript,Jquery,Arrays,好的,我已经为此工作了一段时间,我有一些接近使它工作,但不完全。因此,我要做的是将每周输入表单中的值添加到一个带有键的数组中 AJAX将尽可能不限制行数(这很好),通过一个按钮向表单中添加一行 我现在把每天的总数加在一起,这是有效的,因为所有的周一都有一个.Monday的课程(我可以发布它需要的代码,请问一下)并且每隔一天 我在每个输入上都有一个id,作为一周中的一天和一个计数,所以#Monday0,#Monday1,对于每一天和每一行等都是相同的 现在,我使用下面的代码所做的是添加周,然后在周

好的,我已经为此工作了一段时间,我有一些接近使它工作,但不完全。因此,我要做的是将每周输入表单中的值添加到一个带有键的数组中

AJAX将尽可能不限制行数(这很好),通过一个按钮向表单中添加一行

我现在把每天的总数加在一起,这是有效的,因为所有的周一都有一个.Monday的课程(我可以发布它需要的代码,请问一下)并且每隔一天

我在每个输入上都有一个id,作为一周中的一天和一个计数,所以#Monday0,#Monday1,对于每一天和每一行等都是相同的

现在,我使用下面的代码所做的是添加周,然后在周行中显示该周(现在是控制台日志)。所以我想添加所有以0结尾的每日ID,从周一到周日,然后对1执行相同的操作,以此类推

 var LoadHourTotals = function() {

    $('.TimebreakdownInput').change(function() {
       var InputArrays = []; //Array to store all weekly inputs
       var Totals = []; //Store Array total for display

       GetCurrentID = $(this).attr('id');
       CurrentCount = GetCurrentID.charAt(GetCurrentID.length-1)    
       var WeeklyArray = ["Monday"+CurrentCount,"Tuesday"+CurrentCount,"Wednesday"+CurrentCount,"Thursday"+CurrentCount,"Friday"+CurrentCount,"Saturday"+CurrentCount,"Sunday"+CurrentCount];

        $.each(WeeklyArray, function(k, v) {
            var values = parseFloat( $('#'+v).val() );  
            if (isNaN(values)) { values = 0; } //Set value to 0 if its not a number
            if (!values) { values = 0; }

            InputArrays.push({ key: CurrentCount, hours:values });
        });

        console.log(InputArrays);

        //$('.TimebreakdownTotalHours').html(Totals); //Display / Add total into HTML
    });
} //End of LoadHourTotals function
我想我已经接近这一点了,每天的每个输入都保存到自己的数组中,其中包含一个键计数和当天的值。例如,0:XX 0:XX(这七次,全部为第一行)。然后根据需要对每行重复此操作

如果我做的不对,或者有更好的方法,请告诉我

但现在我需要做的是遍历每个键,取它的值,得到所有七个输入的“总计”,然后显示或保存该总计到一个新数组中(这就是我试图做的),然后显示/控制台记录每个星期的总计

我已经在这里浏览了很多帖子,但是我找不到任何适合我的问题的东西

欢迎大家帮忙

如果我没有发布一些需要的代码,请让我知道。 如果我解释得不对,请告诉我


非常感谢。

没关系,我找到了答案。我试过了但没用

 var total = 0;
 $.each(InputArrays,function() {
        total += this;
        console.log(total);
 });
但有些人在玩弄代码,我在控制台上记录了“this”,并尝试了下面的方法,现在看来效果不错。谢谢

var total = 0;
$.each(InputArrays,function() {
    total += this.hours;
    console.log(total);
});

很抱歉,我没有为此设置JS FIDLE,大多数表单代码不是HTML,而是由CakePHP的表单帮助程序生成的。您可以在浏览器中从查看源代码复制HTML。但在您的浏览器中它是纯HTML:)我可以,是的,但有AJAX函数无法工作,我只是在发布后才考虑设置一个-抱歉…当然你可以循环使用
$。每个
InputArray
添加总计,然后将其存储在另一个全局范围内的变量中,你可以从其他迭代/代码访问该变量,然后相应地进行处理?顺便说一下,如果您使用的是现代浏览器,您可以选择,