php - 如何更改购物车 laravel 中的数量?
问题描述
我尝试更改quantity
我的cart
. 我的代码如下所示:
<div class="form-group">
<input rowId="{{ $cart->rowId }}" type="number" value="{{ $cart->qty }}" class="form-control prc" required>
</div>
我script
的是:
$('.form-group').on('input', '.prc', function(){
var totalSum = 0;
$('.form-group .prc').each(function()
{
var inputVal = $(this).val();
if ($.isNumeric(inputVal))
{
totalSum += parseFloat(inputVal);
}
});
$('#result').text(totalSum);
var rowId = $(this).attr('rowId');
var quantity = $(this).val();
var prevQuantity = $(this).attr('value');
if ($.isNumeric(quantity) && (quantity != prevQuantity) && (quantity != 0))
{
window.location.href = "{{ url('Cart/add') }}"+'/'+rowId+'/'+quantity;
}
});
这是我的controller
:
public function add($id, $quantity)
{
$item = Cart::get($id);
Cart::update($id, ['qty'=>$quantity]);
return redirect()->route('Cart.index');
}
但该值并未存储在cart->quantity
.
解决方案
使用 Ajax 调用来打你的路线。
你的路线应该是这样的:
Route::get('/Cart/add/{rowId}/{qty}','YourController@add');
你的脚本应该是这样的:
$('.form-group').on('input', '.prc', function(){
var totalSum = 0;
$('.form-group .prc').each(function()
{
var inputVal = $(this).val();
if ($.isNumeric(inputVal))
{
totalSum += parseFloat(inputVal);
}
});
$('#result').text(totalSum);
var rowId = $(this).attr('rowId');
var quantity = $(this).val();
var prevQuantity = $(this).attr('value');
if ($.isNumeric(quantity) && (quantity != prevQuantity) && (quantity != 0))
{
$.ajax({
type: 'get',
url: '/Cart/add/'+rowId+'/'+quantity,
success: function(data){
if (data == 'success') {
alert('success');
}
else{
alert('failure');
}
},
error:function(data){
}
});
}
});
注意:我刚刚在此处添加了 Ajax 调用,因此请确保您的脚本进入该 if 循环以正常工作
并使您的控制器像这样:
public function add($id, $quantity) {
$item = Cart::find($id);
$item->qty = $quantity;
$item->save();
return response('success');
}
希望它会起作用
推荐阅读
- github - github 使用 API 识别 PAT 令牌 ID?
- pytorch - 给定前馈步骤中张量的索引版本,pytorch 如何执行反向微分?
- reactjs - 将 CSV 数据添加到 React 应用程序,而文件不会在构建中结束
- r - 如何使用 R 中的 copula 函数计算条件概率?
- java - 损坏的表值,我该如何解决?
- javascript - 如何访问嵌入式对象?
- reactjs - Reack Hook:useEffect() 被调用两次,首先是一个空数组,然后是数据库中的值
- flutter - 如何克隆从 Flutter/Dart 中的父小部件传递的对象
- tensorflow - 给定kdtree提供的距离和索引,如何实现grapy的邻接?
- html - 如何在输入类型号时禁用“onchange()”