manolegal 12 Denunciar post Postado Novembro 9, 2016 Olá amigos. Tenho o seguinte código: <div id="list" class="row-fluid"> <table class="table table-striped table-hover table-bordered" cellspacing="1" cellpadding="1" id="detalhes"> <caption style="white-space: nowrap; text-align: center; font-weight: bold; color: white; background: #000039">Detalhes do Documento</caption> <thead> <tr> <th>.....</th> </tr> </thead> <tbody id="repetir"> <tr id="linha_1"> <td> <select name="produto[]" id="produto[]" onfocus="mudacor(this,'yellow')" onblur="mudacor(this,'white')" onkeypress="return handleEnter(this, event)"> <option value="">-- Selecionar --</option> <?php $Sql = "SELECT id_produto, produto, lower(simple_unaccent(produto)) as produto_ordenar FROM veiculos_despesas_produtos_produtos WHERE veiculos_despesas_produtos_produtos.ativo = 'Sim' AND veiculos_despesas_produtos_produtos.frotas_utiliza = 'Sim' ORDER BY produto_ordenar ASC"; $Resultado = @executa($Sql); // @ (arroba) - se função der erro, não mostra erros para usuário while ($linha = @pg_fetch_assoc($Resultado)){ // @ (arroba) - se função der erro, não mostra erros para usuário $id_produto_bd = $linha["id_produto"]; $produto_bd = addslashes($linha["produto"]); if ($produto[$i] == $id_produto_bd) echo "<option value='$id_produto_bd' selected = 'selected'>$produto_bd - $id_produto_bd</option>"; else echo "<option value='$id_produto_bd'>$produto_bd - $id_produto_bd</option>"; } ?> </select> </td> <td> <button onclick="$.removeLinha(this);" type="button" id="remove">** Remover</button> </td> </tr> </tbody> <tfoot> <tr> <td colspan="4"> <button type="button" id="add">**Adicionar Produto</button> </td> </tr> </tfoot> </table> </div> Recebo dados: $produto = $_POST ["produto"]; Um mesmo produto pode ser adicionado várias vezes. O problema que ao submeter o formulário e havendo algum erro, os produtos selecionados deveriam ficar selecionados, porém isso não acontece e o formulário apresenta somente uma linha em branco. Ao submeter o formulário mostra: <?php var_dump($produto); ?> array(2) { [0]=> string(1) "6" [1]=> string(1) "4" } Como faço para manter os produtos selecionados após o submit? Compartilhar este post Link para o post Compartilhar em outros sites
manolegal 12 Denunciar post Postado Novembro 9, 2016 Funções adicionar e remover: <script> /* Função jQuery para remover linha */ $.removeLinha = function (element){ /* Conta quantidade de linhas na tabela */ var linha_total = $('tbody#repetir tr').length; /* Condição que mantém pelo menos uma linha na tabela */ if (linha_total > 1){ /* Remove os elementos da linha onde está o botão clicado */ $(element).parent().parent().remove(); } /* Avisa usuário de que não pode remover a última linha */ else{ alert("Favor selecionar ao menos 01 Produto!"); } }; /* Quando o documento estiver carregado… */ $(document).ready(function(){ /* Variável que armazena limite de linhas (zero é ilimitada) */ var limite_linhas = 50; /* Quando o botão adicionar for clicado... */ $('#add').click(function(){ /* Conta quantidade de linhas na tabela */ var linha_total = $('tbody#repetir tr').length; /* Condição que verifica se existe limite de linhas e, se existir, testa se usuário atingiu limite */ if (limite_linhas && limite_linhas > linha_total){ /* Pega uma linha existente */ var linha = $('tbody#repetir tr').html(); /* Conta quantidade de linhas na tabela */ var linha_total = $('tbody#repetir tr').length; /* Pega a ID da linha atual */ var linha_id = $('tbody#repetir tr').attr('id'); /* Acrescenta uma nova linha, incluindo a nova ID da linha */ $('tbody#repetir').append('<tr id="linha_' + (linha_total + 1) + '">' + linha + '</tr>'); } /* Se usuário atingiu limite de linhas… */ else{ alert("Desculpe, mas você só pode adicionar até " + limite_linhas + " linhas!"); } }); }); </script> Compartilhar este post Link para o post Compartilhar em outros sites