如何解决根据Laravel中是否已选中复选框更改定价
我正在尝试计算Laravel的一些运费。基于权重只有两种选择,而我使用if / else语句进行选择。客户希望添加一个选项,如果某人想更快地运送他们的物品并且处于“优先”权重之下,他们可以承担额外的运送费用。我在刀片服务器模板中设置了一个复选框,但不确定100%如何实现它。我会假设我必须执行某种isset语句。
这是刀片服务器模板中的代码:
@if( $total_weight <= 16.00)
<li class="payment__item">
<label for="priority">Priority Mail</label>
<span style="padding-top: 2.5%;">
<input type="checkBox" name="priority" value="1" {{ $shipping_cost['attributes']['priority'] == '10' ? 'checked="checked"' : '1'}} >
</span>
</li>
<li class="payment__item">Total:
<span>${{ number_format($payment_total + $shipping_cost,2,'.','')}} </span>
</li>
@else
<li class="payment__item">Total: <span>${{ number_format($payment_total + 10,'')}} </span>
</li>
@endif
public function showPayment() {
$cart = Session::get('cart');
$payment_info = Session::get('payment_info');
if($payment_info['status'] == 'on_hold' ) {
$total_weight = $cart->totalWeight;
// $shipping_cost = $cart->totalPrice + 5;
$sales_tax = $cart->totalPrice * .085 ;
$payment_total = $cart->totalPrice + $sales_tax;
return view('cart.payments',['payment_info' => $payment_info,'cartItems' => $cart,'sales_tax' => $sales_tax,'shipping_cost' => $shipping_cost,'total_weight'=>$total_weight,'payment_total' => $payment_total]);
}else{
return redirect()->route("home");
}
}
非常感谢您的帮助。
在此处编辑正在传递的数据
解决方法
使用javascript检查复选框是否已选中。如果是这样,则将优先运送费用加到总计中
var input = document.querySelector('input[type=checkbox]');
function check() {
var a = input.checked ? "{{$payment_info['price'] + number_format($sales_tax,2,'.','') + 10 }}" : "{{$payment_info['price'] + number_format($sales_tax,'') + 5 }} ";
document.getElementById('total').innerHTML = '$ ' + a;
}
input.onchange = check;
check();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。