Jquery乘以符号

时间:2015-05-25 16:50:33

标签: javascript php jquery

我创建了一个使用输入字段的票证订购表单,该字段由减号(-1)和加号(+1)按钮控制。

还有另一个脚本通过获取每个票证(.qty-holder)的(价格)并将其乘以输入内部的(数量)来计算订单总数。

价格由PHP生成,并与#36;#36;' ($)在打印号码之前。这导致javascript计算仅为NaN。当$符号在那里时,我无法得到计算出的值,只有当它只是一个数字时它才有效。

有没有办法让脚本只在标签内搜索数字,我怎么做才能使输出(总数)包含' $'和一个有两位小数的数字?

此外,减号和加号按钮脚本不会影响计算的值。因此,如果单击加号按钮增加输入中的数字,则不会计算新的总数。有没有办法连接这两个,并从加号按钮5?

中取出最大值

我的代码如下。非常感谢任何帮助!

<div class='row'>
<div class='col-sm-12'>
<div class='qty-holder'>
  <a class='minus increment qty value-btn' href='#'>-</a>
  <input type='number' name='quantity_37' class='value qty' id='37' step='1' min='0' max='5' value='0' readonly> 
  <a class='plus increment qty value-btn' href='#'>+</a>
  <span class='hidden fees'>&#36;1.60</span>
  <span class='hidden price'>&#36;20.00</span> 
  <span class='hidden sum'>0</span>       
</div>
</div>
</div>              
<div class="checkout">
  <span>Fees:</span><span class="fees pull-right"></span><br />
  <span>Total:</span><span id="total" class="pull-right"></span>
  <button type="submit" class="btn btn-lg btn-danger text-uppercase btn-tickets">Checkout</button>
</div>


<script>  
   $(function(){
     $('.increment').click(function() {
        var valueElement = $('#'+$(this).siblings('input').attr('id'));
        if($(this).hasClass('plus')) 
        { valueElement.val(Math.max(parseInt(valueElement.val()) + 1)); } 
        else if (valueElement.val() > 0) // Stops the value going into negatives
        { valueElement.val(Math.max(parseInt(valueElement.val()) - 1)); } 
     return false;
  });
});
</script> 
<script>
function getTotal(){
    var total = 0.00;
    $('.sum').each(function(){
        total += parseFloat(this.innerHTML)
    });
    $('#total').text(total);
}

getTotal();

$('.value').keyup(function(){
    var parent = $(this).parents('.qty-holder');
    var price = $('.price', parent);
    var sum = $('.sum', parent);
    var value = parseInt(this.value) * parseFloat(price.get(0).innerHTML||0);
    sum.text(value);
    getTotal();
})
</script>

0 个答案:

没有答案