2011-04-18 34 views
0

我需要根據以下表單中的用戶輸入進行計算。在這裏使用jQuery Calculation Plug-in:http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm我能弄清楚如何做「多少會話?」次數「學生人數」乘以前兩項的「每次會議費用」。真正讓我失望的是最底層的一個,除了用戶填寫的會話數量之外,我還需要他們從選擇框中選擇學生人數。有任何想法嗎?計算表單輸入,其中一個通過選擇框進行修改

<table> 
<tr><th>How many sessions?</th><th>Number of Students</th><th>Type of tutoring</th><th>Cost Per Session</th><th>Total Cost</th></tr> 
<tr><td><input type="text" name="qty_academic" size="3" /></td><td id="num_students">1 Student</td><td>Academic Tutoring</td><td id="price_item_1">$55.00</td><td id="total_item_1">$0.00</td></tr> 
<tr><td><input type="text" name="qty_multi" size="3" /></td><td id="num_students">1 Student</td><td>ML Tutoring</td><td id="price_item_2">$60.00</td><td id="total_item_2">$0.00</td></tr> 
<tr><td><input type="text" name="qty_group" size="3" /></td><td><select name="group_size" id="num_students"> 
    <option value=""></option> 
    <option value="2">2 Students</option> 
    <option value="3">3 Students</option> 
    <option value="4">4 Students</option> 
    </select></td><td>Group Tutoring</td><td id="price_item_3"></td><td id="total_item_3">$0.00</td></tr> 
<tr><td>&nbsp;</td><td>&nbsp;</td><td colspan="2" align="right"><h3>Grand Total:</h3></td><td id="grandTotal"></td></tr> 

的2學生價格將是每個學生$ 40,3個學生每個學生= $ 35 4名學生= $ 30%的學生。也許我只是沒有看到這個正確的方式,但我似乎無法把頭圍住它。

除了進行計算之外,我還需要在表單提交中至少選擇一個類型的會話(以及我在其餘部分使用的所有信息字段)表格)。有人能指出我是一個很好的例子來說明如何實現這個目標嗎?謝謝。


更新#1:

這是我迄今爲止的工作:http://jsfiddle.net/jT9HE/2/

我只是需要讓方塊改變它重新計算時,下拉(選擇)。


更新#2:

 $("select[name^=group_size]").bind("change", recalc); 
     // run the calculation function now 
     recalc(); 

這使得改變下拉框更新價格下降。現在,我怎樣才能根據下拉框中選擇的內容來確定價格?

+0

按時間順序更新,而不是在頂部,這使得很難閱讀... – Neal 2011-04-18 18:10:33

回答

0

在我看來這是一個jQuery應該抱怨的情況。無論如何,實際上問題的一個來源是存在具有相同值id的多個元素。這是顯示這一問題的代碼摘錄:

<td id="num_students">1 Student</td> 
<td id="num_students">1 Student</td> 

<select name="group_size" id="num_students"> 

當你做到這一點,

students: $("[id^=num_students]") 

生成的元素是不是你想什麼,但第一個TD。

希望這個幫助進一步調查和代碼重構。

- 更新 -

我固定的程式碼,請看看here on jsFiddle,看看它是否適合你。如果不讓我知道。

基本上我解決了具有相同值的多個id的問題,並添加了隱藏字段,以便始終有多個學生相乘。最後,我在選擇框中附加了一個onchange事件。

對於集體輔導的價格動態計算也有一些邏輯。

+0

哇。哇哇!我沒想到會看到其他的東西。爲了讓它工作,我使用了一個醜陋的黑客。我在「2名學生」旁邊製作了下拉顯示器,並且每個選項的價值是許多學生的成本。通過這種方式,我可以顯示總數而不是單位值。我甚至沒有接近滿意,但在功能上它工作,我有一個截止日期,所以我只是讓它離開。我不得不重新編寫我的PHP來彌補這個問題,但我很高興。謝謝。 – Vincent 2011-04-20 04:50:46

相關問題