Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/01/2011, 06:58
Avatar de Heiroon
Heiroon
 
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 6 meses
Puntos: 63
Exclamación Respuesta: Ayuda para formulario con selects dinamicos..

gente, ya he logrado generar selects con sus opciones y sus grupos desde base de datos... lo que para mi es bastante! ahora... lo que me falta es meter cada opcion en su respectivo grupo... Auxilio! aca les dejo el codigo tal cual va hasta ahora:

Código Javascript:
Ver original
  1. function newProd(){
  2.  
  3.     var container = document.getElementById('funebre');
  4.     var cont = (++numero);
  5.    
  6.       var nDiv = document.createElement('div');
  7.           nDiv.className = 'contentProducto';
  8.           nDiv.id = 'Campo' + cont;
  9.       var nCampo = document.createElement('input');
  10.           nCampo.name = 'campos[]';
  11.           nCampo.type = 'text';
  12.           nCampo.className = "amount";
  13.           nCampo.id = 'cantidad'+cont;
  14.       var a = document.createElement('a');
  15.           a.name = nDiv.id;
  16.           a.href = '#';
  17.           a.className = 'eraser';
  18.           a.onclick = elimCamp;
  19.           a.innerHTML = 'Eliminar';
  20.          
  21.       var prod = document.createElement('select');
  22.           prod.name = 'prod[]';
  23.           prod.id = 'prod' + cont;
  24.           prod.className = "prodSelector";
  25.        
  26.       <? $tesla = 1;
  27.          $nombrar = mysql_query("SELECT * FROM categorias WHERE status_categoria = '0'")or die(mysql_error());
  28.          while($etiquetas = mysql_fetch_row($nombrar)){ ?>
  29.       var grupo<?=$tesla?>= document.createElement('optgroup');
  30.           grupo<?=$tesla?>.label="<?=utf8_encode($etiquetas[1])?>";
  31.      
  32.             prod.appendChild(grupo<?=$tesla?>);
  33.      <? $tesla++;  } ?>  
  34.          
  35.       var opt = document.createElement('option');
  36.           opt.value=0;
  37.           opt.innerHTML="Seleccione...";
  38.          
  39.           prod.appendChild(opt<?=$enum?>);
  40.          
  41.          
  42.     <?  $enum = 1;
  43.         $sql = "SELECT id_producto, productos.id_categoria, titulo_prod, categorias.id_categoria FROM productos INNER JOIN categorias ON productos.id_categoria = categorias.id_categoria WHERE status_prod = '0'";
  44.         $peste = mysql_query($sql);
  45.         $total = mysql_num_rows($peste);
  46.         while($noire = mysql_fetch_row($peste)){ ?>
  47.        
  48.       var opt<?=$enum?> = document.createElement('option');
  49.           opt<?=$enum?>.value="<?=$noire[0]?>";
  50.           opt<?=$enum?>.innerHTML="<?=$noire[2]?>";
  51.           alert("<?=$noire[3]?>,<?=$noire[1]?>");
  52.           <? if($noire[3]==$noire[1]){?>
  53.           prod.appendChild(opt<?=$enum?>);
  54.          
  55.     <?  } $enum++;  } ?>   
  56.          
  57.          
  58.           nDiv.appendChild(prod);
  59.           nDiv.appendChild(nCampo);
  60.           nDiv.appendChild(a);
  61.           container.appendChild(nDiv);
  62. }

este es el html que se necesita para que trabaje:

Código HTML:
Ver original
  1. <div id="funebre">
  2.                    
  3.                         <div class="contentProducto" id="Campo1">
  4.                             <select name="prod[]" id="prod1" class="prodSelector">
  5.                                 <option value="0">Seleccione...</option>
  6.                                
  7.                         <?  $sql = "SELECT * FROM productos WHERE status_prod='0'";
  8.                             $peste = mysql_query($sql);
  9.                             while($noire = mysql_fetch_row($peste)){ ?>
  10.                                 <option value="<?=$noire[0]?>"><?=$noire[2]?></option>
  11.                             <? } ?>
  12.                             </select><input type="text" name="campos[]" onkeydown="numbers(this)" onkeyup="numbers(this)" class="amount" id="cantidad1">
  13.                         </div>
  14.                    
  15.                     </div>
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!