在下表中,我有两个名为“Jacket”和“Uniform”的项目。每个项目都有一个下拉列表以选择所需的数量。我想要发生的是数量变化时自动更改的金额。例如,制服的单价是1,400比索。如果用户希望购买2件制服,金额将自动从1,400比索变为2,800比索。对于“夹克”,金额会在数量变化时自动更改。夹克的单价是700比索。因此,当数量从1变为2时,金额从700变为1,400比索。我不明白为什么同样不会发生“统一”,也就是说,当数量变化时,数量不会发生变化。任何帮助将不胜感激。请参阅下面的代码。非常感谢你。
@foreach($data['tuition_other'] as $other)
<tr>
<td>{{Hashids::encode($other->id)}}</td>
<td>{{$other->item_name}}</td>
<td id="item_amt">{{number_format($other->item_amount,2,'.',',')}}</td>
<td>
<select name="item_quantity" class="iqty_class" id="iqty_id">
@for ($i=1; $i<=$other->max_quantity; $i++)
<option value="{{ $i }}">{{ $i }}</option>
@endfor
</select>
<input type="hidden" id="item_val" value="{{ $other->item_amount }}">
</td>
<? $total_other += $other->item_amount; ?>
</tr>
@endforeach
JS
$('body').on('change','.iqty_class', function(){
var item_amt = $('#item_val').val();
var item_qty = $('.iqty_class').val();
var total_amt = item_amt * item_qty;
var c = total_amt.toLocaleString('en-US', {minimumFractionDigits: 2});
$("#item_amt").html(c);
});
答案 0 :(得分:1)
尝试这样做:
刀片
@foreach($data['tuition_other'] as $other)
<tr>
<td>{{Hashids::encode($other->id)}}</td>
<td>{{$other->item_name}}</td>
<td class="item_amt">{{number_format($other->item_amount,2,'.',',')}}</td>
<td>
<select name="item_quantity" class="iqty_class" id="iqty_id">
@for ($i=1; $i<=$other->max_quantity; $i++)
<option value="{{ $i }}">{{ $i }}</option>
@endfor
</select>
<input type="hidden" class="item_val" value="{{ $other->item_amount }}">
</td>
<? $total_other += $other->item_amount; ?>
</tr>
@endforeach
JS:
$('body').on('change','.iqty_class', function(){
var item_amt = $(this).parent().children('.item_val').val();
var item_qty = $(this).val();
var total_amt = item_amt * item_qty;
var c = total_amt.toLocaleString('en-US', {minimumFractionDigits: 2});
$(this).parent().parent().children('.item_amt').html(c);
});