2011-03-07 30 views
0
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Sum of all TextBox values using jQuery</title> 
    <script type="text/javascript" 
    src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"> 
    </script> 
    <script type="text/javascript"> 
     $(function() { 
      $("#addAll").click(function() { 
       var add = 0; 
       $(".amt").each(function() { 
        add -= Number($(this).val()); 
       }); 
       $("#para").text("Sum of all textboxes is : " + add); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <input id="Text1" class="amt" type="text" /><br /> 
    <input id="Text2" class="amt" type="text" /><br /> 
    <input id="Text3" class="amt" type="text" /><br /> 
    <input id="addAll" type="button" value="Sum all Textboxes" /><br /> 
    <p id="para" /> 
</body> 
</html> 

但我無法得到實際結果。請幫我我想在jquery中減去文本值有類

+0

因爲你已經稱爲變量「添加」和你正在做減法! – adarshr 2011-03-07 17:42:47

+0

http://jsfiddle.net/ApjgJ/是你的代碼的小提琴(帶有一些默認值)。它似乎工作(假設它旨在從零中減去所有數字)。你能清楚地說明你得到了什麼結果和你期望的結果嗎? – Chris 2011-03-07 17:49:03

+0

它可能只是我,但「總和所有...」,addAll,添加 - 那麼你減去只是似乎令人困惑。 – 2011-03-07 18:10:44

回答

1

嘗試:

$(function() { 
    $("#addAll").click(function() { 
     var add = 0; 
     $(".amt").each(function() { 
      add += parseInt($(this).val() || 0, 10); 
     }); 
     $("#para").text("Sum of all textboxes is : " + add); 
    }); 
}); 

使用parseInt。此外,如果您嘗試對值進行求和,則應該使用+=

這是工作:http://jsfiddle.net/S9H6A/


更新:如果你想減去在文本框中的所有值,那麼你的問題是,你總初始化爲0嘗試

$(function() { 
    $("#addAll").click(function() { 
     var total; 
     $(".amt").each(function() { 
      if (typeof total === 'undefined') { 
       total = parseInt($(this).val() || 0, 10); 
      } 
      else { 
       total -= parseInt($(this).val() || 0, 10); 
      } 
     }); 
     $("#para").text("Sum of all textboxes is : " + total); 
    }); 
}); 

更新例如:這樣的事情,而不是(也來自@Praveen的答案,用|| 0默認空input s到0添加的代碼)

+0

此代碼不工作。類的減法顯示negetive值..任何其他想法s可欣賞 – reju 2011-03-07 17:45:00

+1

@reju:剛剛更新了一個工作的例子,並使用'+ =',而不是確定你是否真的想要減去或添加)。 – 2011-03-07 17:46:14

+0

是啊我試着減去使用class.i的元素組添加,但減法不工作..任何想法呢? – reju 2011-03-07 17:48:46

0

替換此add -= Number($(this).val());add -= parseInt($(this).val()|| 0,10);

+0

這一個也不能正常工作....請檢查這個.. http://jsfiddle.net/S9H6A/ – reju 2011-03-07 17:50:51

+0

parseInt有什麼優勢比數?它似乎工作得很好,數字...實際上,可能更好,因爲數字似乎把一個空的文本框作爲零... – Chris 2011-03-07 17:53:52

+0

@reju:它的確如果你還加上'|| 0'。 – 2011-03-07 17:54:11