Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] input dinamico trabajen de forma independiente

Estas en el tema de input dinamico trabajen de forma independiente en el foro de Jquery en Foros del Web. Hola tengo este input dinamico pero la situacion es que cuando le doy al button + no me trabaja de forma indepentiende cada uno @import ...
  #1 (permalink)  
Antiguo 07/09/2015, 19:38
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 11 años, 6 meses
Puntos: 1
input dinamico trabajen de forma independiente

Hola tengo este input dinamico pero la situacion es que cuando le doy al button + no me trabaja de forma indepentiende cada uno
Código HTML:
Ver original
  1. <title>Formulario Dinamico</title>
  2. <script type="text/javascript" src="js/jquery.min.js"></script>
  3. <script type="text/javascript" src="js/jquery.addfield2.js"></script>
  4. <div id="stylized" class="myform" style="margin:20px auto;">
  5. <form id="form" name="form" method="post" action="procesar1.php">
  6. <div id="material_comprado"> </div>
  7. <h1>Campos Din&aacute;mico</h1>
  8. <label><span class="small">A&ntilde;ade las conceptos</span>
  9. </label><br />
  10. <div id="div_1">
  11. <label>Codigo de Producto</label>
  12. <input type="text" name="concepto[]" id="concepto" style="width:200px;" /> <br>
  13. <label>Valor</label>
  14. <input type="text" name="valor[]" id="valor" style="width:200px;" />
  15. <input class="bt_plus" id="1" type="button" value="+" /><div class="error_form">
  16. </div>
  17. </div>
  18. <div id="div_2">
  19. <label>Codigo de Producto</label>
  20. <input type="text" name="concepto[]" id="concepto" style="width:200px;" /> <br>
  21. <label>Valor</label>
  22. <input type="text" name="valor[]" id="valor" style="width:200px;" />
  23. <input class="bt_plus1" id="2" type="button" value="+" /><div class="error_form">
  24. </div>
  25. </div>
  26. <button type="submit" class="boton">Enviar</button>
  27. <div class="spacer"></div>
  28. </form>
y este el js
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     //ACA le asigno el evento click a cada boton de la clase bt_plus y llamo a la funcion addField
  3.         $(".bt_plus").each(function (el){
  4.             $(this).bind("click",addField);
  5.                                      });
  6.                             });
  7. $(document).ready(function() {
  8.     //ACA le asigno el evento click a cada boton de la clase bt_plus y llamo a la funcion addField
  9.         $(".bt_plus1").each(function (el){
  10.             $(this).bind("click",addField);
  11.                                      });
  12.                             });
  13. function addField(){
  14. // ID del elemento div quitandole la palabra "div_" de delante. Pasi asi poder aumentar el n�mero. Esta parte no es necesaria pero yo la utilizaba ya que cada campo de mi formulario tenia un autosuggest , as� que dejo como seria por si a alguien le hace falta.
  15. var clickID = parseInt($(this).parent('div').attr('id').replace('div_',''));
  16. // Genero el nuevo numero id
  17. var newID = (clickID+1);
  18. // Creo un clon del elemento div que contiene los campos de texto
  19. $newClone = $('#div_'+clickID).clone(true);
  20. //Le asigno el nuevo numero id
  21. $newClone.attr("id",'div_'+newID);
  22. //Asigno nuevo id al primer campo input dentro del div y le borro cualquier valor que tenga asi no copia lo ultimo que hayas escrito.(igual que antes no es necesario tener un id)
  23. $newClone.children("input").eq(0).attr("id",'parada'+newID).val('');
  24. //Borro el valor del segundo campo input(este caso es el campo de cantidad)
  25. //$newClone.children("input").eq(1).val('');
  26. $newClone.children("input").eq(1).val('');
  27. //Asigno nuevo id al boton
  28. $newClone.children("input").eq(2).attr("id",newID)
  29. //Inserto el div clonado y modificado despues del div original
  30. $newClone.insertAfter($('#div_'+clickID));
  31. //Cambio el signo "+" por el signo "-" y le quito el evento addfield
  32. $("#"+clickID).val('-').unbind("click",addField);
  33. //Ahora le asigno el evento delRow para que borre la fial en caso de hacer click
  34. $("#"+clickID).bind("click",delRow);                   
  35. function delRow() {
  36. // Funcion que destruye el elemento actual una vez echo el click
  37. $(this).parent('div').remove();
  38. }
  #2 (permalink)  
Antiguo 08/09/2015, 13:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: input dinamico trabajen de forma independiente

Para elementos dinámicos, lo conveniente es delegar eventos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 09/09/2015, 19:55
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: input dinamico trabajen de forma independiente

Ok voy a leer pero me podrias dar una nocion no soy muy bueno con jquery
  #4 (permalink)  
Antiguo 10/09/2015, 04:45
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: input dinamico trabajen de forma independiente

La delegación de eventos consiste en registrar el evento a un elemento de nivel superior ya existente, y usar un selector para filtrar durante la fase de captura o bubbling los descendientes con los que vayas a trabajar únicamente.

Todo ello a raíz de que jQuery no manipula directamente sobre el DOM
  #5 (permalink)  
Antiguo 13/09/2015, 18:57
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: input dinamico trabajen de forma independiente

Se que la informacion que me han dado la he leido pero aun asi me esta costando conseguir el funcionamiento que deseo y he visto que no solo a mi me afecta por favor si no es molestia darme una luz que tengo que modificar para solucionar el problema gracias
  #6 (permalink)  
Antiguo 15/09/2015, 01:03
 
Fecha de Ingreso: mayo-2013
Ubicación: San Vicente
Mensajes: 127
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: input dinamico trabajen de forma independiente

solucionado dejo el enlace para el que lo desee utilizar y no pase mis penurias
lo sencillo es lo mas bello

https://jsfiddle.net/vv358bLj/1/

Etiquetas: dinamico, forma, independiente, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:04.