Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2015, 02:37
inovaweb
 
Fecha de Ingreso: mayo-2013
Mensajes: 22
Antigüedad: 11 años, 6 meses
Puntos: 0
Buscador ajax en tabla HTML dinámica

Buenos días foro,

tengo una tabla de Ingresos Html dinámica (se añaden filas nuevas mediante javascript) con la siguiente estructura de columnas:

Categoria (select)
Mensualidad (select)
concepto (input, al empezar a escribir deben aparecer los resultados en un desplegable)
unidades (input)
importe (input)
descuento (input)

Antes de la tabla tengo un buscador en ajax que funciona correctamente, al empezar a escribir en el input del buscador sale un desplegable con las busquedas encontradas, en el momento que hago click en uno de los resultados se carga la info en la primera linea de la tabla y se carga una nueva fila dinamicamente..

El problema viene cuando vuelvo a buscar y selecciono otro elemento del desplegable de busqueda, mi intencion seria que el contenido cargara en la segunda fila de la tabla pero en vez de eso carga en la primera fila de la tabla machacando el contenido previamente insertado.

Código HTML:
Ver original
  1. <tr id="fila">
  2.                                                                 <td>           
  3.                                                                     <a class="toggle-link" onclick="eliminar_fila_recibos(this)">
  4.                                                                         <i class="glyphicon glyphicon-minus"></i>
  5.                                                                     </a>                                           
  6.                                                                 </td>
  7.                                                                    
  8.                                                                 <td>                                           
  9.                                                                     <?php echo $tipos_servicio_select; ?>
  10.                                                                 </td>
  11.                                                                    
  12.                                                                 <td>
  13.                                                                     <?php echo $mensualidades_select; ?>
  14.                                                                 </td>
  15.                                                                
  16.                                                                 <td>
  17.                                                                     <input type="text" id="concepto_ingreso" class="input" value="" style="width: 300px;"/>
  18.                                                                     <!--<input type="text" id="concepto_recibos" class="input buscador_ingresos" value="" style="width: 300px;"/>-->
  19.                                                                     <!--<div id="resultados_busqueda_servicio" class="resul_busq_servicio">
  20.                                                                    
  21.                                                                     </div>-->
  22.                                                                 </td>
  23.                                                                
  24.                                                                 <td>   
  25.                                                                     <input type="text" id="unidades_ingreso" class="input" value="0" style="width: 50px;"/>
  26.                                                                 </td>
  27.                                                                
  28.                                                                 <td>                                           
  29.                                                                     <input type="text" name="precio_ingreso" id="precio_ingreso" class="input precio_recibos" value="0" style="width: 50px;"/>
  30.                                                                 </td>
  31.                                                                
  32.                                                                 <td>   
  33.                                                                     <input type="text" id="descuento_ingreso" class="input" value="0" style="width: 50px;"/>
  34.                                                                 </td>
  35.                                                                        
  36.                                                             </tr>
Para añadir la fila a la tabla dinamicamente:

Código Javascript:
Ver original
  1. var select = recoge_select();
  2.                         var select2 = recoge_select_mensualidades();
  3.                        
  4.                         $('#tabla_ingresos tr:last').after('<tr id="fila"><td><a class="toggle-link" onclick="eliminar_fila_recibos(this)"><i class="glyphicon glyphicon-minus"></i></a></td><td>'+select+'</td><td>'+select2+'</td><td><input type="text" id="concepto_ingreso" class="input buscador_ingresos" value="" style="width: 300px;"/><div id="resultados_busqueda_servicio" class="resul_busq_servicio"></div></td><td><input type="text" class="input" value="0" style="width: 50px;"/></td><td><input type="text" name="precio_ingreso" id="precio_ingreso" class="input precio_recibos" value="0" style="width: 50px;"/></td><td><input type="text" class="input" value="0" style="width: 50px;"/></td></tr>');

Para sobreescribir la fila de la tabla con lo datos de la seleccion del buscador
Código Javascript:
Ver original
  1. function selecciona_servicio(id_servicio_seleccionado)
  2.             {
  3.                 $.ajax(
  4.                 {
  5.                     type: 'POST',
  6.                     url: '<?php echo base_url().'admin_controllers/ingresos_controllers/insertar_ingresos_controller/'.'seleccionar_servicio';?>',
  7.                     data: {info: id_servicio_seleccionado},
  8.                     success: function (data2)
  9.                     {      
  10.                        
  11.                         // Decodifica el array recibido(codificado en JSON) http://www.dyn-web.com/tutorials/php-js/json/array.php
  12.                    
  13.                         var valores2 = JSON.parse(data2);
  14.                        
  15.                        
  16.                         document.getElementById("fila").lastChild.value=valores2.precio_servicio;
  17.                        
  18.                        
  19.                        
  20.                         var select = recoge_select();
  21.                         var select2 = recoge_select_mensualidades();
  22.                        
  23.                         $('#tabla_ingresos tr:last').after('<tr id="fila"><td><a class="toggle-link" onclick="eliminar_fila_recibos(this)"><i class="glyphicon glyphicon-minus"></i></a></td><td>'+select+'</td><td>'+select2+'</td><td><input type="text" id="concepto_ingreso" class="input buscador_ingresos" value="" style="width: 300px;"/><div id="resultados_busqueda_servicio" class="resul_busq_servicio"></div></td><td><input type="text" class="input" value="0" style="width: 50px;"/></td><td><input type="text" name="precio_ingreso" id="precio_ingreso" class="input precio_recibos" value="0" style="width: 50px;"/></td><td><input type="text" class="input" value="0" style="width: 50px;"/></td></tr>');
  24.        
  25.                     }
  26.                 });
  27.             }




Que formas habría para solucionar este problema?

Gracias de antemano.

Última edición por inovaweb; 13/08/2015 a las 10:20