2012-05-23 44 views
1

過去一週左右,我從很多人那裏獲得了很多幫助,我的第一個努力 從頭開始編寫應用程序。謝謝你從我的代碼底部猴子 心臟!用於複雜計算的Jquery計算插件

我需要爲我的幻想足球評分應用添加積分計算功能。下面是 結果頁面,與計算功能的下拉菜單中的位置(但不 實際的計算功能):

enter image description here

用戶將能夠選擇多少分各統計(或增量)值爲 ,然後單擊獲取分數按鈕,總計將顯示在TFP列中(tan 列)。

因此,使用屏幕截圖所示的設置

,該公式將是:

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

我看過了jQuery插件,計算器,我以爲是我將需要使用的,但我 不知道如何對上面顯示的複雜類型(至少對我來說)進行計算。

+0

爲什麼你需要一個插件嗎? – lucuma

+0

有沒有比使用jquery calculator插件更容易做到我需要的方法?我接受建議。 – Cynthia

回答

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

}); 
+0

有趣...除了20和4沒有預先定義。這些數字將是用戶在下拉菜單中選擇的內容。 – Cynthia

+0

我剛在你的評論前更新。我不確定你是如何使用這些數據的,但我確實使用了一些使用輸入值的例子。你只需要得到它們的值並在方程中使用它們,但你應該得到每個循環外的值。 – lucuma

2

我有同樣的問題,即我的客戶問我建立一些複雜的計算形式,所以我決定寫我自己的插件,你可以在這裏找到https://github.com/ikhsan017/calx

只需要編寫計算公式到數據公式屬性,$字符分配給每個變量

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

假設你有所有輸入元素相關的編號爲

<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> 

希望這個插件有用:)