Javascript 我想减去jquery中有类的文本值 使用jQuery的所有文本框值之和 $(函数(){ $(“#addAll”)。单击(函数(){ var-add=0; $(“.amt”)。每个(函数(){ add-=数字($(this).val()); }); $(“#段落”).text(“所有文本框的总和为:”+add); }); });

Javascript 我想减去jquery中有类的文本值 使用jQuery的所有文本框值之和 $(函数(){ $(“#addAll”)。单击(函数(){ var-add=0; $(“.amt”)。每个(函数(){ add-=数字($(this).val()); }); $(“#段落”).text(“所有文本框的总和为:”+add); }); });,javascript,jquery,class,subtraction,Javascript,Jquery,Class,Subtraction,但是我没有得到实际的结果。请帮我试试: <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

但是我没有得到实际的结果。请帮我试试:

<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>
使用
parseInt
。此外,如果要对值求和,则应使用
+=

这就是它的工作原理:


更新:如果您试图减去文本框中的所有值,那么您的问题是将总数初始化为0。尝试类似的方法(还添加了@答案中的代码,该答案使用
|124; 0
将默认值设置为空
输入
s为0):


更新的示例:

替换此
add-=Number($(this.val())带有
add-=parseInt($(this).val()| | 0,10)

因为您调用了变量“add”,正在执行减法运算!是您的代码的一部分(添加了一些默认值)。这似乎是可行的(假设它是用来从零减去所有的数字)。你能确切地说明你得到了什么结果以及你期望得到什么结果吗?可能只是我,但“全部求和…”,addAll,add-然后你减法似乎很混乱。这段代码不起作用。类的减法显示负值。。还有其他想法吗appreciatable@reju:刚刚更新了一个有效的示例,并改用
+=
(不确定是否实际尝试进行减法或加法)。是的,我正在尝试使用类减去一组元素。我做了加法,但减法不起作用。。有什么想法吗?@reju:这可能是因为您正在初始化0的
add
。为什么要用parseInt而不是Number?这个也不起作用。。。。请核对一下这个。。parseInt与数字相比有什么优势?它似乎与数字配合得很好。。。事实上,可能更好,因为数字似乎将空文本框视为零…@Rejum:如果你也添加
|124; 0
@Rejum我刚刚尝试过,它运行良好,你能告诉我你在尝试什么值吗???@Brad:哦,是的,它似乎处理空文本框。我发誓我现在测试它的时候没有,但我可能只是忘了告诉JSFIDLE更新或做些什么
$(function() {
    $("#addAll").click(function() {
        var add = 0;
        $(".amt").each(function() {
            add += parseInt($(this).val() || 0, 10);
        });
        $("#para").text("Sum of all textboxes is : " + add);
    });
});
$(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);
    });
});