Advertisement
yesamarcos

Como clonar um formulário com índices dinâmicos

Jun 25th, 2018
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $("body").on('click', '.uniqrenda_btn', function(event){
  2.     event.preventDefault();
  3.     /* Act on the event */
  4.     $(".clonar_renda").clone().appendTo("#uniqrenda").find("input:text").val("").end().removeClass('clonar_renda');
  5.     renumber_renda();
  6. });
  7.  
  8. /*
  9.  * Esta function chamada ali em cima, cada vez que há um loop, incrementa 1 unidade ao índice  
  10.  * dos inputs e selects do formulário que acabou de ser clonado. Assim, quando enviar $_POST,
  11.  * vai enviar empresa[0], empresa[1], empresa[2], etc.
  12.  */
  13. function renumber_renda(){
  14.     $(".comprimir").each(function(index){
  15.  
  16.         var prefix_1 = "dr[dr_empresa][" + index + "]";
  17.         var prefix_2 = "dr[dr_superior][" + index + "]";
  18.         var prefix_3 = "dr[dr_profissao][" + index + "]";
  19.         var prefix_4 = "dr[dr_renda][" + index + "]";
  20.         var prefix_5 = "dr[dr_admissao][" + index + "]";
  21.         var prefix_6 = "dr[dr_situacao][" + index + "]";
  22.  
  23.         $(this).find("input, select").each(function(){
  24.            this.name = this.name.replace(/dr\[dr_empresa]\[\d+\]/, prefix_1);
  25.            this.name = this.name.replace(/dr\[dr_superior]\[\d+\]/, prefix_2);
  26.            this.name = this.name.replace(/dr\[dr_profissao]\[\d+\]/, prefix_3);
  27.            this.name = this.name.replace(/dr\[dr_renda]\[\d+\]/, prefix_4);
  28.            this.name = this.name.replace(/dr\[dr_admissao]\[\d+\]/, prefix_5);
  29.            this.name = this.name.replace(/dr\[dr_situacao]\[\d+\]/, prefix_6);
  30.         });
  31.     });
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement