【问题标题】:Subtract HTML Textbox Values using jQuery / JavaScript使用 jQuery / JavaScript 减去 HTML 文本框值
【发布时间】:2015-04-13 12:12:17
【问题描述】:

一旦用户将值放入文本字​​段但无法这样做,我想减去这些值。这是 sum 的示例,但我希望它与减法相同:

<table style="border-collapse:collapse;background-color:#E8DCFF" border="1" width="300px">
    <tbody>
        <tr>
            <td width="40px">1</td>
            <td>Butter</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>            
        <tr>
            <td>2</td>
            <td>Eggs</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>            
        <tr>
            <td>3</td>
            <td>Bread</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>
        <tr>
            <td>4</td>
            <td>Soap</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>
        <tr id="summation">
            <td> </td>
            <td align="right">Sum :</td>
            <td align="center"><span id="sum">0</span></td>
        </tr>
    </tbody>
</table>

这里是 jquery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $(".txt").each(function(){
            $(this).keyup(function(){
                calculateSum();
            });
        });
    });
    function calculateSum(){
        var sum = 0;
        $(".txt").each(function(){
            if (!isNaN(this.value) && this.value.length != 0) {
                sum += parseFloat(this.value);
            }
        });
        $("#sum").html(sum.toFixed(2));
    }
</script>

【问题讨论】:

  • 你面临什么样的问题?

标签: javascript jquery html subtraction


【解决方案1】:

您可以添加一个总值,并在每次插入新内容时减去。

$(document).ready(function(){
	$("#sum").data('total', 600).html(600); // add total value of 600
	$(".txt").each(function(){
		$(this).keyup(function(){
			calculateSum();
		});
	});
});
function calculateSum(){
	var $sum = $("#sum");
	var sum = parseInt($sum.data('total'), 10); // get total value
	$(".txt").each(function(){
		if (!isNaN(this.value) && this.value.length != 0) {
			sum -= parseFloat(this.value);
		}
	});
	$sum.html(sum.toFixed(2));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<table style="border-collapse:collapse;background-color:#E8DCFF" border="1" width="300px">
    <tbody>
        <tr>
            <td width="40px">1</td>
            <td>Butter</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>            
        <tr>
            <td>2</td>
            <td>Eggs</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>            
        <tr>
            <td>3</td>
            <td>Bread</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>
        <tr>
            <td>4</td>
            <td>Soap</td>
            <td><input class="txt" name="txt" type="text"></td>
        </tr>
        <tr id="summation">
            <td></td>
            <td align="right">Total: </td>
            <td align="center"><span id="sum"></span></td>
        </tr>
    </tbody>
</table>

【讨论】:

  • adricadar :感谢您的帮助。它工作得很好,但是否有可能在没有固定值的情况下获得它。
  • @ManindraSingh 你的意思是正值和负值?你想减什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
相关资源
最近更新 更多