O meu também só retorna nulo. Tem algum erro.
O meu também só retorna nulo. Tem algum erro.
Oi Caio, tudo bem? Você pode postar aqui o seu código JavaScript e o código da view (.cshtml) para darmos uma olhada? Assim poderemos te ajudar mais facilmente. Obrigado!
class Carrinho {
clickIncremento(btn) {
let data = this.getData(btn);
data.Quantidade++;
this.postQuantidade(data);
}
clickDecremento(btn) {
let data = this.getData(btn);
data.Quantidade--;
this.postQuantidade(data);
}
updateQuantidade(input) {
let data = this.getData(input);
this.postQuantidade(data);
}
getData(elemento) {
var linhaDoItem = $(elemento).parents('[item-id]');
var itemId = $(linhaDoItem).attr('item-id');
var novaQtde = $(linhaDoItem).find('input').val();
return {
Id: itemId,
Quantidade: novaQtde
};
}
postQuantidade(data) {
$.ajax({
url: '/pedido/updatequantidade',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data)
});
}
}
var carrinho = new Carrinho();
@foreach (var item in Model)
{
<div class="row row-center linha-produto" item-id="@item.Id">
<div class="col-md-3">
<img class="img-produto-carrinho" src="/images/produtos/large_@(item.Produto.Codigo).jpg" />
</div>
<div class="col-md-3">@(item.Produto.Nome)</div>
<div class="col-md-2 text-center">R$ @(item.PrecoUnitario)</div>
<div class="col-md-2 text-center">
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default"
onclick="carrinho.clickDecremento(this)">
<span class="glyphicon-minus"></span>
</button>
</span>
<input type="text" value="@(item.Quantidade)"
class="form-control text-center"
onblur="carrinho.updateQuantidade(this)"/>
<span class="input-group-btn">
<button class="btn btn-default"
onclick="carrinho.clickIncremento(this)">
<span class="glyphicon-plus"></span>
</button>
</span>
</div>
</div>
<div class="col-md-2">
R$ <span class="pull-right" subtotal>
@(item.Quantidade * item.PrecoUnitario)
</span>
</div>
</div>
}
Descobri. Só funciona no google chrome. No internet explore não funciona.
Vcs deviam deixar isso claro: Use o Google Chrome.