2014-02-10 39 views
0

我對jQuery是全新的。我正在計算字段的方法,並找到了以下代碼來完成此操作:如何使貨幣文本框使用jQuery

$(function() { 
    var laborValue = $('input:text[id$=txtLabor]').keyup(totalOfBudget); 
    var materialValue = $('input:text[id$=txtMaterial]').keyup(totalOfBudget); 
    var subContractorValue = $('input:text[id$=txtSubContractor]').keyup(totalOfBudget); 
    var miscValue = $('input:text[id$=txtMiscellaneous]').keyup(totalOfBudget); 
    var equipmentValue = $('input:text[id$=txtEquipment]').keyup(totalOfBudget); 

    var totalValue = $('input:text[id$=txtEquipment0]').keyup(totalOfContract); 
    var overheadValue = $('input:text[id$=txtEquipment1]').keyup(totalOfContract); 
    var profitValue = $('input:text[id$=txtEquipment2]').keyup(totalOfContract); 

    function totalOfBudget() { 
     var value1 = laborValue.val(); 
     var value2 = materialValue.val(); 
     var value3 = subContractorValue.val(); 
     var value4 = miscValue.val(); 
     var value5 = equipmentValue.val(); 
     var sum = add(value1, value2, value3, value4, value5); 
     $('input:text[id$=txtEquipment0]').val(sum); 
    } 

    function totalOfContract() { 
     var value6 = totalValue.val(); 
     var value7 = overheadValue.val(); 
     var value8 = profitValue.val(); 
     var sum = add(value6, value7, value8); 
     $('input:text[id$=txtTotalContract]').val(sum); 
    } 

    function add() { 
     var sum = 0; 
     for (var i = 0, j = arguments.length; i < j; i++) { 
      if (IsNumeric(arguments[i])) { 
       sum += parseFloat(arguments[i]); 
      } 
     } 
     return sum; 
    } 
    function IsNumeric(input) { 
     return (input - 0) == input && input.length > 0; 
    } 
}); 

該代碼完美地工作。添加字段時,我會得到正確的值,但我唯一剩下的問題是如何將這些文本框設置爲數字和貨幣字段?現在,這些字段將採用任何文本,但我希望它們只採用數字,並將其顯示爲美元(例如:1,234.56美元)。如果這可以在C#代碼隱藏中完成,那麼也可以,但我只顯示這是因爲這塊代碼正在處理計算。

在此先感謝!

+1

那麼,它不能在C#中,因爲你正在做的計算完成在JavaScript中。你想要的是將結果格式化爲一個字符串,在你完成你的計算之後。看看這個類似的問題:http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript – Gallen

回答