fix: display only delivery types that have a price and auto-select first
This commit is contained in:
@@ -7,7 +7,18 @@
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach ($delivery_types as $delivery_type_id => $delivery_type)
|
||||
@php
|
||||
$deliveryTypes = collect($delivery_types);
|
||||
$preselectedDeliveryTypeId = old('delivery_type_id');
|
||||
|
||||
if ($preselectedDeliveryTypeId === null || $preselectedDeliveryTypeId === '') {
|
||||
$preselectedDeliveryTypeId = $deliveryTypes->keys()->first();
|
||||
}
|
||||
|
||||
$deliveryTypes = $deliveryTypes->all();
|
||||
@endphp
|
||||
|
||||
@foreach ($deliveryTypes as $delivery_type_id => $delivery_type)
|
||||
<tr>
|
||||
<td>
|
||||
@include('components.form.radios.icheck', [
|
||||
@@ -15,6 +26,7 @@
|
||||
'val' => $delivery_type_id,
|
||||
'id' => 'delivery_type_' . $delivery_type_id,
|
||||
'class' => 'delivery_type',
|
||||
'value' => $preselectedDeliveryTypeId,
|
||||
])
|
||||
</td>
|
||||
<td>
|
||||
@@ -31,11 +43,19 @@
|
||||
@push('js')
|
||||
<script>
|
||||
function handleDeliveryTypes() {
|
||||
$('input.delivery_type').change(function() {
|
||||
var $deliveryTypeInputs = $('input.delivery_type');
|
||||
|
||||
$deliveryTypeInputs.change(function() {
|
||||
var deliveryTypeId = $(this).val();
|
||||
var deliveryId = $('input[name=delivery_id]:checked').val()
|
||||
refreshBasketTotal(deliveryId, deliveryTypeId);
|
||||
});
|
||||
|
||||
var $preselected = $deliveryTypeInputs.filter(':checked').first();
|
||||
|
||||
if ($preselected.length) {
|
||||
$preselected.trigger('change');
|
||||
}
|
||||
}
|
||||
handleDeliveryTypes();
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user