Javascript 使用JsViews进行汇总值计算
我喜欢使用jsviews绑定在页面上显示两个摘要数据。UI将类似于屏幕截图 用户可以从列表中添加/删除人员,这将影响“人数”的值,用户可以在文本框中编辑整数值,总数值将显示在“总金额”中 对。我设法使它起作用了。。请在那里查看我的代码 但我认为这是非常丑陋的esp:下面的代码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)
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);