Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/07/2011, 11:00
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: Añadir más campos SELECT dinámicamente

El código html:

Código HTML:
Ver original
  1.   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  2.   <title> - jsFiddle demo by alexg88</title>
  3.   <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
  4.  
  5.   <link rel="stylesheet" type="text/css" href="/css/normalize.css">
  6.   <link rel="stylesheet" type="text/css" href="/css/result-light.css">
  7.  
  8.   <style type="text/css">
  9.    
  10.   </style>
  11.  
  12.   <script type="text/javascript">
  13.   //<![CDATA[
  14.  $(function(){
  15.      var counter = 1;
  16.  
  17.    $("#addButton").click(function () {
  18.  
  19. if(counter>10){
  20.            alert("Only 10 textboxes allow");
  21.            return false;
  22. }  
  23.  
  24.        var select = $('<select>').attr({id:'select'+counter,name:'select'+counter});
  25.        
  26.        $.ajax({
  27.  url: 'selects.php',
  28.  dataType: "html",
  29.  success: function(data) {
  30.    select.html(data);
  31.  }
  32. });        
  33.  
  34.  
  35. select.appendTo("#TextBoxesGroup");
  36.  
  37.  
  38. counter++;
  39.     });
  40.  
  41.     $("#removeButton").click(function () {
  42.     if(counter==1){
  43.          alert("No more textbox to remove");
  44.          return false;
  45.       }  
  46.  
  47. counter--;
  48.  
  49.        $("#select" + counter).remove();
  50.  
  51.     });
  52.  
  53.     $("#getButtonValue").click(function () {
  54.  
  55. var msg = '';
  56. for(i=1; i<counter; i++){
  57.      msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
  58. }
  59.       alert(msg);
  60.     });
  61.  });
  62.  //]]>
  63.   </script>
  64.  
  65. </head>
  66.  
  67.  
  68. <div id="TextBoxesGroup">
  69. </div>
  70. <input type="button" value="Add Button" id="addButton">
  71. <input type="button" value="Remove Button" id="removeButton">
  72. <input type="button" value="Get TextBox Value" id="getButtonValue">
  73.  
  74.  
  75. </body></html>


Este sería el código php (yo pongo un ejemplo que no se usa). Lo que tienes que hacer es devolver la lista de opciones como html. Hay más formas, pero esta es una de las más sencillas:

Código PHP:
Ver original
  1. <option value="1">Uno</option>
  2. <option value="2">Dos</option>
  3. <option value="3">Tres</option>
  4. <option value="4">Cuatro</option>