用于复杂计算的Jquery计算插件

时间:2012-05-23 01:41:56

标签: jquery forms jquery-calculation

在过去一周左右的时间里,我的第一次努力得到了很多人的帮助 从头开始编写应用程序。谢谢你从我的代码猴子的底部 心脏!

我需要为我的梦幻足球得分应用添加积分计算功能。下边是 结果页面,具有计算功能的下拉(但没有 实际的计算功能):

enter image description here

用户将能够选择每个统计数据(或统计数据的增量)的价值 然后单击获取分数按钮,总计将显示在TFP列中(棕褐色 列)。

因此,使用屏幕截图中显示的设置,公式为:

1(Pass_Yds / 20) + (4 * Pass_TD) + 1(Rush_Yds / 10) + (6 * Rush_TD) + (0 * Int) = TFP

我看过jQuery计算器插件,我认为这是我需要使用的,但是我 我不知道如何进行上面显示的复杂类型(至少对我而言)。

2 个答案:

答案 0 :(得分:2)

我有同样的问题,我的客户要求我构建一些复杂的计算表单,所以我决定编写你自己的插件https://github.com/ikhsan017/calx

只需要将计算公式写入data-formula属性,并为每个变量赋予$ char

1(Pass_Yds / 20) + (4 * Pass_TD) + 1(Rush_Yds / 10) + (6 * Rush_TD) + (0 * Int)

假设您拥有所有具有关联ID

的输入元素
<form id="test">
    Pass Yds : <input id="Pass_Yds" /><br />
    Pass TD : <input id="Pass_TD" /><br />
    Rush Yds : <input id="Rush_Yds" /><br />
    Rush  TD : <input id="Rush_TD" /><br />
    Int : <input id="Int" /><br />
    <!--- skip -->
    Result : <input id="TFP" data-formula="1*($Pass_Yds / 20) + (4 * $Pass_TD) + 1*($Rush_Yds / 10) + (6 * $Rush_TD) + (0 * $Int)" />
</form>

希望这个插件有用:)

答案 1 :(得分:0)

具体取决于具体的html。我不确定你如何使用积分/ yds的东西,但以下内容将帮助你开始:

$('#btnUpdate').click(function() {  // get this all after user clicks button

var ptspassyrds = parseInt($('#ptspassyrds').val());
var ptspassyrdsamt = parseInt($('#ptspassydsamt').val());

$('#stats tr').each(function() {
  var passyds = parseInt($('td:eq(2)',this).text());
  var paddtds = parseInt($('td:eq(3)',this).text());
  var interceptions = parseInt($('td:eq(4)',this).text());
  // etc
  var tfp = (ptspassyrds / ptspassyrdsamt) + (4*passtds); //etc depending on exactly what you need to do
  $('td:eq(8)').text(tfp);
});

});