将选择器与jquery中的输入值相乘

时间:2015-05-29 10:39:45

标签: jquery multiplying

我的计算效果不佳。也许你可以帮助我:

  <input id="count" min="1" value="1" class ="txtMult form-control" type="number" name="txtEmmail" />
  <input type="text" value="250"  class ="txtMult" name="txtEmmail"/>
  <span class="multTotal">250</span>

<select class="selectpicker">
<option value="1">multiply with 1</option>
<option value="2">multiply with 2</option>
</select>

<span id="grandTotal">250</span>

这里是Javascript:           

$(function(){
                $('input').change(function(){
                    var p=$(this).parent().parent()
                    var m=p.find('input.txtMult')
                    var mul=parseInt($(m[0]).val()*$(m[1]).val()).toFixed(2)
                    var res=p.find('.multTotal')
                    res.html(mul);
                    var total=0;
                    $('.multTotal').each(function(){
                        total+=parseInt($(this).html())
                    })
                    $('#grandTotal').html(parseInt(total).toFixed(2))
                });
            })


$(window).load(function(){
$('select').change(function() {
   $("#grandTotal").html($('select').val()*$('.multTotal').html())
});
});
</script>

所以我希望#grandTotal总是在改变。如果选择例如“乘以2”并且在更改了我的“#count”的值之后,“#grandTotal”应该自动显示正确的数字。我对计算很困惑。也许你看得更清楚了。非常感谢你

2 个答案:

答案 0 :(得分:1)

工作小提琴 http://jsfiddle.net/anilk/6fLk8w8a/1/

更新了js

(function smoothscroll(){
    var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
    if (currentScroll > 0) {
         window.requestAnimationFrame(smoothscroll);
         window.scrollTo (0,currentScroll - (currentScroll/5));
    }
})();

你的装订不合适,请使用适当的课程。

答案 1 :(得分:0)

在javascript方面计算时,你必须解析为int或float。

您可以使用parseIntparseFloat()

var i = parseInt( $('select').val()) * parseInt( $('.multTotal').html())
$("#grandTotal").html(i);