gpt4 book ai didi

javascript - 使用 JsViews 进行汇总值计算

转载 作者:行者123 更新时间:2023-12-03 11:53:09 24 4
gpt4 key购买 nike

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

enter image description here

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

是的。我设法让它工作..请在那里查看我的代码。 http://jsfiddle.net/michaelsync/eqhkzv3t/3/

但我认为它非常难看,特别是:下面的代码。

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();
});

嗯,我仍在阅读 jsviews 的教程和源代码/测试。但我对 JsViews 来说几乎是新闻。在我当前的代码中,我继续循环数组来计算总数和人数。我认为我也许能够注册一个辅助类,但仍然必须循环“people”数组来计算值。

所以,我相信 JsViews 中可能有更好的方法。由于 JsViews 网站建议我们在这里发布问题,并且 JsViews 的作者也在这里,因此我决定将其发布在这里,以便提前完成这些汇总数据。 (是的,您也可以在这里查看我的测试代码 http://jsfiddle.net/michaelsync/eqhkzv3t/3/ )

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

最佳答案

我在这里创建了您的 jsfiddle 的更新版本:http://jsfiddle.net/BorisMoore/wch601L9/

您错过的主要有帮助的是使用observeAll:

http://www.jsviews.com/#observeAll

$.observable(people).observeAll(totalAmount);

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

声明式事件绑定(bind):

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

用于显示数组长度的顶级数据链接:

<span id="getLength" data-link="length"></span>

$("#getLength").link(true, people);

(另请参阅此示例:http://www.jsviews.com/#samples/editable/toplevel-for,用于顶级数据链接)

关于javascript - 使用 JsViews 进行汇总值计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25721180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com