Pergunta

Estou construindo uma aplicação muito pequena web ERP com PHP / MySQL / CodeIgniter / jQuery
O Bill / Fatura é construído com

current date
client data
etc

Agora, devo acrescentar produtos para essa nova nota fiscal que está sendo criado, sem recarregar / apresentação da página. Cada produto terá sua qtty., Descrição, preço unitário, subtotal, etc.

Eu gostaria de adicionar cada produto "linha" usando Ajax / jQuery.

  • Como devo construir os produtos formam dinamicamente? Quero dizer, que permite aos usuários adicionar uma nova linha de produtos, ou linhas de produtos de remoção de fatura, usando Ajax?
  • Como a soma de todas as "linhas" adicionados dinamicamente em forma, para obter total da fatura?
  • E como devo receber e tratar todos os dados de postagem para que eu possa inserir o registro da fatura adequada na tabela de faturas e inserir os registros de produtos na tabela de products_invoices?

EDIT: aqui você pode ver um exemplo de trabalho do que eu quero fazer
http://www.bambooinvoice.org/index.php/invoices/newinvoice

EDIT2: Este plugin jQuery parece ser o que eu estava procurando
http://code.google.com/p/jquery-dynamic-form/

Foi útil?

Solução

Basicamente, você tem que adicionar os elementos do formulário para o DOM dinamicamente como o usuário mantém adicionando linhas de novos dados. Acredito jquery será de muita ajuda no uso de APIs padrão para acessar / modificar nós DOM.

Para resumir figuras, você tem que embrulhar os campos numéricos com ganchos especiais como <span id="value_x">34</span> onde x é um contador. Após cada adição desses novos dados, iterate através de tais elementos span e somar os valores e exibi-los em um campo como $("#sumtotal").innerHTML = sum;

Depois que as atualizações dinâmicas para a forma, quando o usuário clica no botão enviar, todos os dados do formulário irá para o servidor como dados normais de correio. Você deve usar name e id atributos adequados para os campos de dados que você deseja processo no servidor e atualizar alguma tabela do banco de dados.

Outras dicas

desde que você está usando jQuery, eu usaria o jQuery grade de encaixe para implementar a seção de linhas de produtos.

http://www.trirand.com/blog/

É altamente configurável e flexível, você pode usar Ajax para preencher manualmente ou automaticamente as linhas (que pode ler diretamente de uma tabela MySQL com um simples backend PHP) e você tem todas as facilidades para iterate todas as linhas para postar os resultados para o servidor, para fazer a paginação (se você precisa de um monte de linha, que usei com sucesso com mais tha 15.000 linhas) e fazer adições e outras operações.

Espero que ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top