Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Variáveis nulas

O meu também só retorna nulo. Tem algum erro.

5 respostas

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>

        }
solução!

Descobri. Só funciona no google chrome. No internet explore não funciona.

Vcs deviam deixar isso claro: Use o Google Chrome.