1
Good morning! I am inserting products in a table with Jquery, similar to a shopping cart, and I need to compare if the product has not already been inserted before. I tried with the code below, but this giving problems when comparing with the array, where I’m going wrong?
var lista = [];
var i = 0;
$('#btn-adicionar').click(function(e) {
if (lista.length > 0) {
var id_produto = $('#id_produto').val();
for (j = 0; j < lista.length; j++) {
if (jQuery.inArray(id_produto, lista[j].id_produto) == -1) {
lista[i] = {
id_produto: $('#id_produto').val(),
quantidade: $('#quantidade').val(),
preco: $('#preco').val()
};
$('#tabela-adicionar').append("<tr><td>" + lista[i].id_produto + "</td><td>" + lista[i].quantidade + "</td><td>" + lista[i].preco + "</td></tr>");
} else {
alert("Produto ja inserido");
}
}
i++;
} else {
lista[i] = {
id_produto: $('#id_produto').val(),
quantidade: $('#quantidade').val(),
preco: $('#preco').val()
};
$('#tabela-adicionar').append("<tr><td>" + lista[i].id_produto + "</td><td>" + lista[i].quantidade + "</td><td>" + lista[i].preco + "</td></tr>");
i++;
}
$('#id_produto').val("");
$('#quantidade').val("");
$('#preco').val("");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn-adicionar">ADD</button>
<label>Produto:</label><input type="text" id="id_produto">
<label>Qtd:</label><input type="text" id="quantidade">
<label>Preco:</label><input type="text" id="preco">
<table>
<thead>
<tr>
<td>Produto</td>
<td>Quantidade</td>
<td>Preço</td>
<td>Remover</td>
</tr>
</thead>
<tbody id="tabela-adicionar">
</tbody>
</table>
Thank you very much!
– Rafael - Competi