
como puedo utilizar un select en laravel
Publicado por Jimmy Frias (1 intervención) el 24/11/2016 01:29:58
Hola comunidad de la web tengo una duda estoy desarrollando un sistema de ventas, pero no se como obtener el valor de un select para hacer las operaciones para sacar el subtotal y total
Este es mi controlador
y este es mi blade
y esta es mi base de datos

Este es mi controlador
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
class CartController extends Controller
{
public function __construct()
{
if(!\Session::has('cart')) \Session::put('cart', array());
}
// Show cart
public function show()
{
$cart = \Session::get('cart');
$total = $this->total();
return view('store.cart', compact('cart', 'total'));
}
// Add item
public function add(Product $product)
{
$cart = \Session::get('cart');
$product->quantity = 1;
$cart[$product->slug] = $product;
\Session::put('cart', $cart);
return redirect()->route('cart-show');
}
// Delete item
public function delete(Product $product)
{
$cart = \Session::get('cart');
unset($cart[$product->slug]);
\Session::put('cart', $cart);
return redirect()->route('cart-show');
}
// Update item
public function update(Product $product, $quantity)
{
$cart = \Session::get('cart');
$cart[$product->slug]->quantity = $quantity;
\Session::put('cart', $cart);
return redirect()->route('cart-show');
}
// Trash cart
public function trash()
{
\Session::forget('cart');
return redirect()->route('cart-show');
}
// Total
private function total()
{
$cart = \Session::get('cart');
$total = 0;
foreach($cart as $item){
$total += $item->price * $item->quantity;
}
return $total;
}
// Detalle del pedido
public function orderDetail()
{
if(count(\Session::get('cart')) <= 0) return redirect()->route('home');
$cart = \Session::get('cart');
$total = $this->total();
return view('store.order-detail', compact('cart', 'total'));
}
}
y este es mi blade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<tr>
<td><img src="/tienda/productos/{{ $item->image }}" width="50" height="50"></td>
<td>{{ $item->name }}</td>
<td class="btn-group">
<select name="precios" id="precios" >
<optgroup>
<option>Seleccionar colchon</option>
</optgroup>
<optgroup label="Individual 1.00*1.90">
<option value="{{$item->price}}">{{$item->price}}</option>
</optgroup>
<optgroup label="Matrimonial 1.36*1.90">
<option value="{{$item->precioMatri}}">{{$item->precioMatri}}</option>
</optgroup>
<optgroup label="Queen-size 1.50*1.90">
<option value="{{$item->precioQueen}}">{{$item->precioQueen}}</option>
</optgroup>
<optgroup label="King-size 2.00*1.90">
<option value="{{$item->precioKing}}">{{$item->precioKing}}</option>
</optgroup>
</select>
</td>
<td>
<input
type="number"
min="1"
max="100"
value="{{ $item->quantity }}"
id="product_{{ $item->id }}"
>
<a
href="#"
class="btn btn-warning btn-update-item"
data-href="{{ route('cart-update', $item->slug) }}"
data-id = "{{ $item->id }}"
>
<i class="fa fa-refresh"></i>
</a>
</td>
<script type="text/javascript">
$('select#precios').on('change',function(){
var valor = $(this).val();
document.getElementsByName("txtresultado")[0].value = valor;
});
</script>
<td>
<!--{{ number_format($item->price * $item->quantity,2) }}-->
<input value="" name="txtresultado">
</td>
<td>
<a href="{{ route('cart-delete', $item->slug) }}" class="btn btn-danger">
<i class="fa fa-remove"></i>
</a>
</td>
</tr>
y esta es mi base de datos
1
protected $fillable = ['name', 'slug', 'description', 'extract', 'image', 'visible', 'price', 'precioMatri', 'precioQueen', 'precioKing', 'category_id', 'tipo_id'];

Valora esta pregunta


0