我想使用JavaScript计算折扣,但无法获得正确的信息。我试图做点什么。这是我的代码。看一看:)
查看
<div class="form-group">
{!! Form::label('discount_percent', 'Discount Percent', ['class'=>'control-label']) !!}
{!! Form::number('discount_percent', null, ['class'=>'form-control discount']) !!}
</div>
<div class="form-group">
{!! Form::label('total_fee', 'Total Fee', ['class'=>'control-label']) !!}
{!! Form::text('total_fee', null, ['class'=>'form-control final_fee', 'readonly', 'name'=>'final_fee', 'id'=>'final_fee']) !!}
</div>
JavaScript
$('.val').keyup(function () {
var Fee = parseInt($('.final_fee').val());
var discount = parseInt($('.discount').val());
var FinalFee = Fee - ( Fee * discount / 100);
$('#final_fee').val(FinalFee);
});
答案 0 :(得分:0)
您没有说明错误是什么。我可以猜测没有任何反应,这可能是因为您没有绑定输入。如果希望捕获任一输入,然后根据其中的值重新计算,则将keyup绑定到两个输入:
$('.discount, .final_fee').keyup(function () { ... }
第二个问题可能是您正在为变量的元素提取类。我不知道您的完整表单是什么样子,但是它可以帮助您标记要使用id而不是类来获取Fee和Discount的元素。请记住以以下形式添加#discount
(您已经有了#final_fee
),因此,这样重写方法可能会有所帮助:
$('#discount, #final_fee').keyup(function () {
var Fee = parseInt($('#final_fee').val());
var discount = parseInt($('#discount').val());
var FinalFee = Fee - ( Fee * discount / 100);
$('#final_fee').val(FinalFee);
});
这应该可以帮助您达到目标。