Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/03/2011, 22:42
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 9 meses
Puntos: 192
Respuesta: Jquery: Problema creando campo dinámico

Mirá, eliminando las líneas que generan el HTML dinámico esto funciona:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
	<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'></script>
    <script type="text/javascript">
	jQuery.fn.generaNuevosCampos = function(etiqueta, nombreCampo, indice){
    $(this).each(function(){
      elem = $(this);
      elem.data("etiqueta",etiqueta);
      elem.data("nombreCampo",nombreCampo);
      elem.data("indice",indice);
      
      elem.click(function(e){
         e.preventDefault();
         elem = $(this);
         etiqueta = elem.data("etiqueta");
         nombreCampo = elem.data("nombreCampo");
         indice = elem.data("indice");
         texto_insertar = "<p><select class='element select medium'><option value='' selected='selected'>Selecciona un investigador de la llista...</option><option>Inverstigador 1</option><option>Investigador 2</option></select></p>'";
         indice ++;
         elem.data("indice",indice);
         nuevo_campo = $(texto_insertar);
         elem.before(nuevo_campo);
      });
    });
    return this;
    } 
    $(document).ready(function(){
                $("#mascampos").generaNuevosCampos("Selecciona un investigador de la llista...", "compra", 2);
        });
    </script>
    <title></title>
  </head>
  <body>
    <label class="description" for="element_12">Autors de l'article</label>
    <div>
     <p><select class="element select medium"><option value='0' selected="selected">Selecciona un investigador de la llista...</option><option>Inverstigador 1</option><option>Investigador 2</option></select></p>
      <p>
        <a href="#" id="mascampos" name="mascampos">Más campos</a>
      </p>
    </div>
  </body>
</html> 
Lo que me parece que no es necesario es generar dos veces el mismo HTML. Es decir, generás el <select> que aparece por defecto con PHP y pues con jQuery lo clonás. Es fácil. Si no lo lográs solucionar yo estaría dispuesto a tomarme unos minutos y hacerte un script que haga dicha tarea.

Un saludo.
__________________
nahueljose.com.ar