我在下面有这个html,用户可以选择多少"注册"想要每种注册类型。
根据此选择,使用类" .total"应该显示总数。
我有这个html和jquery,并且工作得很好,可以在课堂上显示总数"。总"根据用户选择菜单选择:https://jsfiddle.net/ev1ccmyL/。问题是我正在使用静态注册类型" general"和"加"并使用默认值。
动态代码的html如下所示。你知道如何更改jQuery以使用下面的动态值吗?
<div class="card_body">
<ul>
@foreach($registration_types as $rtype)
<li class="list-group-item d-flex align-items-center justify-content-between">
<div class="w-100">
<span>{{$rtype->name}}</span>
</div>
<form>
<select id="{{$rtype->name}}">
@for ($i = $rtype->min_participants; $i <= $rtype-> max_participants; $i++)
<option >{{ $i }}</option>
@endfor
</select>
</form>
<span class="font-size-sm w-50 text-right">X {{$rtype->price}}€</span>
</li>
@endforeach
<li class="list-group-item d-flex align-items-center justify-content-between">
<div>
<span>TOTAL</span>
</div>
<span class="total">0.00€</span>
</li>
</ul>
</div>
答案 0 :(得分:0)
更新您的选择,如下所示。
选择元素:
<select class="rtype_name" id="rtype_{{ $rtype->id }}" data-price="{{ $rtype->price }}" name={{ $rtype->name }}>`
在你的js文件更新中如下。
$('body').on("change", ".rtype_name", function () {
var total = 0;
$('.rtype_name').each(function(i, obj) {
var value = +$(this).val();
var price = $(this).data('price');
if(value && price) {
total = total + (value * price);
}
});
var total = total.toFixed(2)+"€"
$(".total").text(total);
});
[使用Jquery代码,因为有问题的jquery标记,]