Good morning! I'm inserting products into a table with JQuery, similar to a shopping cart, and need to compare if the product has not been inserted before. I tried with the code below, but this is giving problems when comparing with the array, Where am I 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><buttonid="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>