Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 使用JsViews进行汇总值计算_Javascript_Jquery Templates_Jsrender_Jsviews - Fatal编程技术网

Javascript 使用JsViews进行汇总值计算

Javascript 使用JsViews进行汇总值计算,javascript,jquery-templates,jsrender,jsviews,Javascript,Jquery Templates,Jsrender,Jsviews,我喜欢使用jsviews绑定在页面上显示两个摘要数据。UI将类似于屏幕截图 用户可以从列表中添加/删除人员,这将影响“人数”的值,用户可以在文本框中编辑整数值,总数值将显示在“总金额”中 对。我设法使它起作用了。。请在那里查看我的代码 但我认为这是非常丑陋的esp:下面的代码 function observeAmounts(){ people.forEach(function (person){ $.observe(person, 'amount', function(e)

我喜欢使用jsviews绑定在页面上显示两个摘要数据。UI将类似于屏幕截图

用户可以从列表中添加/删除人员,这将影响“人数”的值,用户可以在文本框中编辑整数值,总数值将显示在“总金额”中

对。我设法使它起作用了。。请在那里查看我的代码

但我认为这是非常丑陋的esp:下面的代码

function observeAmounts(){    
  people.forEach(function (person){
    $.observe(person, 'amount', function(e) {
        var amount =0;
        people.forEach(function(person){
            amount += parseInt(person.amount);
        });
        $('#output2').html('Total Amount: ' + amount);
    });
   });
}

 observeAmounts();

$.observe(people, function(e) {
    var l = $.map(people, function(n, i) { return i; }).length;
    $('#output1').html('Total No. of People: ' + l);
     observeAmounts();
});
我还在阅读教程和JSView的源代码/测试。但我对你来说是个新闻。在我当前的代码中,我继续循环数组以计算总数和人数。我认为我可能能够注册一个helper类,但仍然必须循环“people”数组来计算值

因此,我相信在JSView中可能有更好的方法。由于JsViews站点要求我们在这里发布问题,而且JsViews的作者也在这里,所以我决定在这里发布它,以便在做这些总结数据方面取得进展。(是的,您也可以在此处查看我的测试代码)


如有任何建议,将不胜感激。谢谢

我在这里创建了JSFIDLE的更新版本:

您错过的最有帮助的事情是使用observeAll:

$.observeable(人).observeAll(总金额)

我还为其他事情添加了两种不同的方法:

声明性事件绑定:

<td><button data-link="{on ~remove}">Remove</button></td>

(另请参见此示例:,了解顶级数据链接)

对不起。由于某种原因,我的代码在JSFIDLE中消失了。。我会加回去的。我想应该是/3/。顺便说一句,你也可以“设置为基础”版本/3-这样你可以在不中断链接的情况下更新…当然。谢谢你的提示。嗯。我会的…太棒了!谢谢!
<span id="getLength" data-link="length"></span>
$("#getLength").link(true, people);