Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manolegal

Append em campo []

Recommended Posts

Boa noite amigos.

Para incluir valores inseridos no BD via ajax em um campo select/option utilizo sem problemas da seguinte forma:

$('#produto').append($('<option>', {
   value: retorno.dados.id_produto,
   text: retorno.dados.produto,
   selected: true
}));

A minha dificuldade é inserir estes valores em um campo que adaptei de um exmplo, com id="produto[]", onde adiciono vários produtos no meu formulário.

Meu código:

$produto = $_POST["produto"];

for($i=0; $i<count($produto); $i++) {
                <td>
                    <select name="produto[]" id="produto[]">
                        <option value="">-- Selecionar --</option>
                       <?php
                            $Sql = "SELECT id_produto, produto,
                        ..... FROM ......";
                            $Resultado = @executa($Sql);
                        while ($linha = @pg_fetch_assoc($Resultado)){
                        $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</option>";
                            else
                            echo "<option value='$id_produto_bd'>$produto_bd</option>";
                        }
                        ?>
                    </select>
                </td>
} // Fecha for

Adicionar linhas

var cellRight1 = row.insertCell(1);
var el = document.createElement('select'); // select
cellRight1.setAttribute('align', 'left');
el.setAttribute('name', 'produto[]'  + iteration);
el.setAttribute('id', 'produto[]'  + iteration);
var op = document.createElement('option');
op.appendChild(document.createTextNode('-- Selecionar --'));
op.value = '';
el.appendChild(op);
<?php
    $Sql = "SELECT id_produto, produto,
....
FROM .....";
    $Resultado = @executa($Sql);.
while ($linha = @pg_fetch_array($Resultado)){.
$id_produto_bd = $linha["id_produto"];
$produto_bd = addslashes($linha["produto"]);
    if ($_POST ["produto"] == $id_produto_bd)
    echo "var op = document.createElement('option');op.appendChild(document.createTextNode('$produto_bd'));op.value = '$id_produto_bd';op.selected = 'selected';el.appendChild(op);";
    else
    echo "var op = document.createElement('option');op.appendChild(document.createTextNode('$produto_bd'));op.value = '$id_produto_bd';el.appendChild(op);";
}
?>
cellRight1.appendChild(el);

Os dados a serem inseridos estão vindo normalmente pelo ajax, porém não estão sendo adicionados ao campo.

Tentei de várias formas, porém não obtive êxito. Agradeço se alguém puder me auxiliar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.