我想通过单击按钮动态添加金额、数量、小计字段作为发票项目。
但问题是当我想获得的价值quantity
and amount
每次计算输入字段值时,由于 id 名称相同,我无法使用 jquery 获取该值。
如何获取动态字段值来计算小计。
这是代码。
@extends('layout.master')
@section('css')
@endsection
@section('content')
<div id="saveInvoice">
<table id="dynamicAddRemove">
<tr>
<th class="wd-15p fontColor">Invoice Entry</th>
<th class="wd-15p fontColor">Quantity</th>
<th class="wd-15p fontColor">Amount</th>
<th class="wd-15p fontColor">Subtotal</th>
<th class="wd-10p fontColor"></th>
</tr>
<tr>
<td class="td"><input type="text" name="entry[]" placeholder="Enter entry" class="form-control" /></td>
<td class="td"><input type="text" name="quantity[]" placeholder="Enter quantity" class="form-control quantity" id="quantity"/></td>
<td class="td"><input type="text" name="amount[]" placeholder="Enter amount" class="form-control amount" id="amount" /></td>
<td class="td"><input type="text" name="subtotal[]" placeholder="Subtotal" class="form-control subtotal"id="subtotal" value="0.00" readonly/></td>
<td class="td2"><button type="button" name="add" id="add-btn" class="btn btn-success">Add More</button></td>
</tr>
</table>
<br>
<input type="hidden" name="patientId" id="patientId">
<input type="submit" id="submit" value="Save Invoice" class="btn btn-dark">
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
<br>
</div>
@endsection
@section('js')
<script src="http://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
</script>
<script type="text/javascript">
$(document).ready(function () {
var i = 0;
$("#add-btn").click(function(){
++i;
$("#dynamicAddRemove").append('<tr><td class="td"><input type="text" name="entry['+i+']" placeholder="Enter entry" class="form-control"/></td><td class="td"><input type="text" name="quantity['+i+']" placeholder="Enter quantity" class="form-control quantity" id="quantity" /></td><td class="td"><input type="text" name="amount['+i+']" placeholder="Enter amount" class="form-control amount" id="amount"/></td><td class="td"><input type="text" name="subtotal['+i+']" placeholder="Subtotal" class="form-control subtotal" value="0.0" id="subtotal" readonly/></td><td class="td2"><button type="button" name="add" id="add-btn" class="btn btn-danger remove-tr">Remove</button></td></tr>');
});
$(document).on('click', '.remove-tr', function(){
$(this).parents('tr').remove();
});
});
</script>
<script src="http://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#amount').on('keyup',function(){
var amount = $(this).val();
console.log(amount);
var quantity = $('#quantity').val();
var subtotal=amount*quantity;
$('#subtotal').val(subtotal);
});
$('#quantity').on('keyup',function(){
var quantity =$(this).val();
console.log(amount);
var amount = $('#amount').val();
var subtotal=amount*quantity;
$('#subtotal').val(subtotal);
});
});
</script>
@endsection
您可以使用这种方法来获取数量数组值,例如:
var quantityArray = $("input[name='quantity[]']")
.map(function(){return $(this).val();}).get();
并计算总和,如下所示:
var quantity = quantityArray.reduce(function(a, b) {
return parseInt(a, 10) + parseInt(b, 10);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)