0

我想使用 jQuery 以表单形式输出实时计算,但由于缺乏 JS 知识,我不确定从哪里开始。我想知道是否有人可以帮我解决这个问题?

这是我的字段值:

<input type="hidden" name="total_days" value="{total_days}" />
<input type="text" name="cost_per_day" value="" />
<p>Total Cost: $<span class="total_cost"></span></p>

页面加载时,total_days 将预先填充一个值。cost_per_day 将由用户输入。我希望在用户输入表单时填充总成本跨度,计算如下:

total_days * cost_per_day = total_cost
4

2 回答 2

3

我已经向您的隐藏文本字段和用户文本字段添加了一个 id 以检索它们的值。它看起来像这样。

<input type="hidden" name="total_days" id = "totaldays" value="10" />
<input type="text" name="cost_per_day" id = "mytextfield" value="" />
<p>Total Cost: $<span class="total_cost"></span></p>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

javascript如下:

$("#mytextfield").on('keyup',function(){
        var totalcost= $("#totaldays").val() * $(this).val() 
        $(".total_cost").html(totalcost);
})

希望这可以帮助..

于 2012-12-04T07:47:03.917 回答
1

这个解决方案效果很好,但是我试图做一个小的改变,我想总是将答案四舍五入到小数点后 2 位。我尝试将 .toFixed(2) 添加到各个点,但它似乎不起作用。像这样,

<script type="text/javascript">
$(document).ready(function() {
$("#mytextfield").on('keyup',function(){
   // alert('pressed')
   var totalcost= $("#totaldays").val() * $(this).val() 
   $(".total_cost").text(totalcost).toFixed(2);
})
});
</script>

谁能告诉我如何达到小数点后两位?

谢谢

于 2013-07-19T18:45:55.703 回答