Como calcular dois campos gerados dinamicamente pelo método append()?

Estou criando uma tela de venda, onde tenho um formulário com 4 campos:

PRODUTO
QUANTIDADE
PREÇO
TOTAL
A quantidade de vezes que esses campos vão se repetir vai depender da necessidade de adicionar mais itens. Utilizando JS eu consigo fazer com que os campos sejam adicionados dinamicamente ao clicar em um Button, usando o método append().

Porém preciso calcular os campos QUANTIDADE e PREÇO para gerar o TOTAL, só consegui fazer com que o primeiro item fosse calculado, gostaria de saber como fazer para que os outros campos adicionados depois também efetuem o calculo.

código utilizado:

<html>
<head>
<title>teste</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" href="style.css">
<script>
$(document).ready(function() {
      $("#novoProd").click(function() {
      var novoItem = $("#item").clone().removeAttr('id');
      novoItem.children('input').val('');
      $("#formulario").append(novoItem);
    });
  });

function calcular(){
    var valor1 = parseInt(document.getElementById('txt1').value);
    var valor2 = parseInt(document.getElementById('txt2').value);
    document.getElementById('result').value = valor1 * valor2;
}
</script>
</head>

<body>
<form action="cadastro.php" method="post" id="formulario">
  <input type="button" id="novoProd" value="Novo produto" />
  <input type="submit" value="enviar" />
  <div id="item" class="item">
    <label>Selecione o produto:</label>
    <select name="produtoId[]">
      <option value="1">Produto 1</option>
      <option value="2">Produto 2</option>
      <option value="3">Produto 3</option>
      <option value="4">Produto 4</option>
      <option value="5">Produto 5</option>
    </select>
    <label>Quantidade:</label>
    <input id="txt1" type="number" name="quant[]"/>
	<label>Preco:</label>
    <input id="txt2" type="number" name="preco[]"/>
	<label>Total:</label>
	<input id="result" type="text" onclick="calcular()"/>
  </div>
</form>
</body>
</html>

Tente utilizar um array juntamente com um loop para realizar este cálculo!