2011-12-19 48 views
1

我有一個表值是這樣的:使用計算每個表中的值,如果其他條件

sellingprice  result 

51     ? 
49     ? 

如果sellingprice值大於50時,這將是計算:sellingprice - 50 * 0.05 + 3.5

並且如果sellingprice值小於50的計算將是:sellingprice * 0.07;

我是如何做到這一點jQuery的有點糊塗了。希望能通過這個指導我。

+3

幹嘛還要用JavaScript來計算呢?不應該在服務器端完成嗎? – ZolaKt 2011-12-19 10:50:59

+1

我正在使用客戶端計算 – jovazel 2011-12-19 10:52:56

+0

我明白,但爲什麼?它不需要任何動態變化,爲什麼不在服務器上做呢? – ZolaKt 2011-12-19 10:59:42

回答

0
$('table tr').each(function() { 
    var sellingPrice = parseInt($(this).find('.sellingprice').val()); 

    var result; 
    if (sellingPrice > 50) { 
     result = sellingPrice - 50 * 0.05 + 3.5; 
    } 
    else { 
     result = sellingPrice * 0.07; 
    } 

    $(this).find('.result').val(result); 
}); 

代碼:http://jsfiddle.net/pY9As/2/

+0

我要在輸入文本框中顯示輸出,其ID是導致如何重新編寫代碼的結果? – jovazel 2011-12-19 10:59:41

+0

如果你在該行使用'$(本).find( '#restult')VAL(結果)文本框;'$'的歐洲工商管理學院(本).find( 'TD:EQ(1)')。文本(。結果);'。但在這種情況下,您將擁有更多的一個帶有'result'的控件,這在HTML中是不允許的。使用類'result'和適當的選擇:'$(本).find( '結果')VAL(結果);' – Samich 2011-12-19 11:02:45

+0

sellingprice具有sellingprice的輸入ID和也結果具有結果的輸入ID。我有點困惑$(this).find('td:eq(1)')。text(result);這個計算是指ID。我瞭解了一些關於你的代碼,但仍然存貨並且不能顯示輸出。 – jovazel 2011-12-19 11:12:01