繁体   English   中英

如何使用成本计算器的范围输入为数字增加价值?

[英]How to add value to a number using range inputs for a cost calculator?

我正在尝试创建一个费用计算器。 基本上,我在复选框输入中包含值,并且在选中它们时,使用jQuery将它们添加在一起。

$('.option').click(function() {
    var total = 0;
    $('.option:checked').each(function(){
        total += parseInt($(this).val());
    }); 
    $('.estimate').html('$' + total);
}); 

<input class="option" type="checkbox" value="1000"  />
<input class="option" type="checkbox" value="200"  />
<input class="option" type="checkbox" value="750"  />

因此,在上面的示例中,总数为1950。该函数的这一部分工作正常,但我想在公式中添加两个范围滑块。

<input class="range" type="range" min="0" max="3">
<input class="range" type="range" min="0" max="3">

滑块的4个位置中的每个位置都会增加添加到总体总数中的值。 如何将范围滑块位置添加到上述功能中?

这是jsFiddle: http : //jsfiddle.net/2MLKc/

只需使用输入的change事件:

http://jsfiddle.net/EfrainReyes/2MLKc/4/

$(document).ready(function() {

    var total;

    var addToTotal = function(){
        total += parseInt(this.value, 10);
    };

    var compute = function() {
        total = 0;
        $('.option:checked,.range').each(addToTotal);
        $('.estimate').text('$' + total);    
    };

    $('.option, .range').change(compute);
});

这是对使其生效的简单更改。

$('input').change(function() {
  var total = 0;
  $('.option:checked').each(function(){
    total += parseInt($(this).val());
  }); 
  $('.range').each(function(){
    total += parseInt($(this).val());
  });
  $('.estimate').html('$' + total);
});

http://jsfiddle.net/6DbFH/

好吧,您可以使用复选框执行类似的操作。 使用jQuery,您可以使用$(selector).val()获得滑块输入的值。

但是我建议抽象计算另一个函数并从$('。option')。click(function()...和$('。range')。change(function()...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM