0

如何从“#sum”中获取结果并将其自动复制到文本字段中,以便在我提交表单时也会发送该值?

<script>
    $(document).ready(function() {
        $(":text").each(function() {
            $(this).keyup(function() {
                calculateSum();
            });
        });
    });

    function calculateSum() {
    var sum=0;
    $(":text").each(function() {
        if(!isNaN(this.value) && this.value.length!=0 {
            sum+=parseFloat(this.value);
        }
    });
    $("#sum").html(sum.toFixed(0));
   $("#myTextField").val(sum.toFixed(0)); //adding to text field
}
</script>

有没有快速解决这个问题?

这是 HTML 页面上实际值更新的地方。

<span id="sum">0</span>

它没有添加正确。如果我在其中一个字段中输入 500,它现在会采用第一个数字并重复,所以如果我输入 500,它会输出为 555

有什么帮助吗?

4

1 回答 1

0

你的问题是 ":text" 正在选择 myTextField。所以你的最终价值被加回来了。5 = 5; 50 + 5 = 55;500 + 55 = 555;您可以尝试使用 not 选择器。

$(":text:not('#myTextField')")

http://jsfiddle.net/RhRbR/

$(":text:not(#myTextField)").each(function() {
  if(!isNaN(this.value) && this.value.length!=0) {
    sum+=parseFloat(this.value);
  }
})

小提琴可以给你指路。

于 2013-06-25T13:59:06.480 回答