@Daniel, você pode colocar isso na função de adição:
Segue abaixo o HTML:
<!-- Botão para adicionar uma nova linha no Pai x Filho -->
<div class="row">
<button type="button" class="btn btn-primary" name="btn_addProduto" id="btn_addProduto">Adicionar Produto</button>
</div>
<!-- Tabela Pai x Filho -->
<div class="row">
<table class="table" id="tbProdutos" tablename="tbProdutos" noaddbutton=true>
<thead>
<tr>
<th>Nome Produto</th>
<th>Valor Produto</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="text" class="form-control" name="txt_nomeProduto" id="txt_nomeProduto">
</td>
<td>
<div class="input-group">
<div class="input-group-addon">R$</div>
<input type="text" class="form-control text-right" name="txt_valorProduto" id="txt_valorProduto">
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Campo com o valor Total dos Produtos -->
<div class="row">
<div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
<input type="text" class="form-control" name="txt_valorTotal" id="txt_valorTotal">
</div>
</div>
Segue abaixo Javascript:
// Clique do botão para adicionar linha do Pai x Filho
$("#btn_addProduto").on("click", function(e){
wdkAddChild('tbProdutos');
somaProdutos();
});
// Soma o valor de todos os produtos ao sair do campo do valor do produto
$("input[id^='txt_valorProduto___']").on("blur", function(){
somaProdutos();
});
// função para fazer a soma dos valores de todos os produtos
function somaProdutos() {
var soma = 0;
// percorre todos os campos Pai x Filho
$(document).on("blur", "input[id^='txt_valorProduto___']", function(e){
soma = soma + parseFloat($(this).val());
});
// alimenta o campo Total com a soma dos valores dos produtos
$("#txt_valorTotal").val(soma);
}
=========================================================================
FUNÇÃO CORRETA:
function somaProdutos() {
var soma = 0;
// dessa forma irá funcionar
$(document).on("blur", "input[id^='txt_valorProduto___']", function(e){
soma = soma + parseFloat($(this).val());
});
// alimenta o campo Total com a soma dos valores dos produtos
$("#txt_valorTotal").val(soma);
}
FUNÇÃO QUE NÃO IRÁ FUNCIONAR:
function somaProdutos() {
var soma = 0;
// dessa forma NÃO irá funcionar
// Como os campos são criados dinamicamente, dessa forma não irá funcionar
$("input[id^='textValor_']").each(function(index, value){
soma = soma + parseFloat($(this).val());
});
// alimenta o campo Total com a soma dos valores dos produtos
$("#txt_valorTotal").val(soma);
}