سلام خدمت دوستان عزیز.
من یکسری محصولات دارم که قیمت ثابتی دارند و به راحتی با ایجکس به سبد خرید اضافه می شوند.
حالا یکسری محصول دارم که با توجه به وزن کالا قیمت متفاوتی دارند.
حالا اطلاعاتی که از select box گرفتم
let weight = $("#weight{{$product->id}} option:selected").val();
چطوری به url زیر در ایجکس پاس بدم ؟
url: '{{url('cart/add',['id' => $product->id,'qty' => 1])}}',
HTML
@foreach($products as $product)
<div class="card product ml-2 mb-sm-3 ">
<img class="card-img-top" height="150" src="{{$product->images['thumb']}}" class="img-fluid" alt="{{$product->image_alt}}" title="{{$product->image_tag}}">
<div class="card-body">
<h5 class="card-title"><a href="{{$product->path()}}">{{$product->title}}</a></h5>
<p class="card-text">{{$product->subtitle}}</p>
</div>
@if($product->new_price !=null)
<span>یک کیلو گرم</span>
<p class="form-control-sm"> <small> {{$product->new_price}} ریال</small></p>
@elseif(count($product->weights))
<div class="form-group">
<select class="form-control-sm" id="weight{{$product->id}}">
@foreach($product->weights as $weight)
<option value="{{ $weight->id }}">{{$weight->name}} - {{$weight->pivot->new_prices}} ریال</option>
@endforeach
</select>
</div>
@endif
<form action="#" class="cardform">
<div class="d-flex justify-content-center align-items-center text-light my-2">.
<span class="ti-plus bg-success p-1"></span>
<input type="text" class="form-control form-control-sm w-25 mx-2 text-center" value="1">
<span class="ti-minus bg-success p-1 text-light"></span>
</div>
<p class="form-control-sm">جمع : <small>10000 ریال</small></p>
<button id="addToCart{{$product->id}}" type="submit" class="btn btn-outline-warning mb-2">افزودن به سبد خرید</button>
</form>
</div>
@endforeach
Script
$('#addToCart{{$product->id}}').on('click', function (e) {
e.preventDefault();
@if(count($product->weights))
let weight = $("#weight{{$product->id}} option:selected").val();
@endif
$.ajax({
url: '{{url('cart/add',['id' => $product->id,'qty' => 1])}}',
type: 'get',
success: function (response) {
console.log(response);
$('#sidebar').load('{{url('cart/sidebar')}}');
}
});
});
Route
Route::get('cart/add/{id}/{qty}/{weight?}','CartController@addItem');
(چطوری یک متغیر از جاوا اسکریپت رو داخل متغیر php بریزم ؟)
به صورت POST :
Script
$('#addToCart{{$product->id}}').on('click', function (e) {
e.preventDefault();
@if(count($product->weights))
var weight = $("#weight{{$product->id}} option:selected").val();
@endif
$.ajax({
url: '{{url('cart/add')}}',
type: 'post',
data : {
id : '{{$product->id}}',
qty : 1,
@if(count($product->weights))
weight : weight,
@endif
_token: '{{ csrf_token() }}'
},
success: function (response) {
console.log(response);
$('#sidebar').load('{{url('cart/sidebar')}}');
}
});
});
Route
Route::post('cart/add','CartController@addItem');
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟