Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/02/2015, 06:54
Mental
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Select varias columnas. Seleccionar valor

Bueno, mientras obtengo una solución más adecuada, si la hay, se me ha ocurrido trabajar el contenido como un array.
Para ello he utilizado la función Javascritp .split() donde el carácter que permite separar el contenido es la coma, de tal manera que sería .split(",").
Para ello he modificado algunas cosas en el código:
Código PHP:
Ver original
  1. $sqlservicios="SELECT Id_Servicio, Servicio, Producto, Tipo, Precio, Coste, Acronimo
  2.                                         FROM servicios";
  3.                                         $MyDataservicios=mysqli_query($cn,$sqlservicios);
  4.                                         while($resultservicios = mysqli_fetch_array($MyDataservicios))
  5.                                             {
  6.                                         echo "<option value  ='".$resultservicios['0']."'>"
  7.                                                                 .",".$resultservicios['2']
  8.                                                                 .",".$resultservicios['4']
  9.                                                                 .",".$resultservicios['5']
  10.                                                                 .",".$resultservicios['6'].
  11.                                                                 "
  12.                                                 </option>";
Es decir he insertado la coma .",". en los valores pasados a option. de esta manera obtengo una cadena de caracteres delimitados por coma:
A,B,C,D,E,F

Ahora en la función javascript que permite rellenar los campos que me interesan utilizo este código:
Código Javascript:
Ver original
  1. function seleccionar_servicios()
  2.     {
  3.                 //document.getElementById('S05').value = document.getElementById('4').value;
  4.  
  5.             var select = document.getElementById("A02"); //El <select>
  6.             valor = select.value; //El valor de la opción seleccionada
  7.             //contenido = select[select.selectedIndex].innerText; //El contenido de la opción seleccionada
  8.             contenido1     = select[select.selectedIndex].innerText;
  9.             contenido2     = select[select.selectedIndex].textContent; //Concateno el valor y el contenido
  10.             if(contenido1 != undefined)
  11.             {
  12.                 var palabras = contenido1.split(",");
  13.                 document.getElementById("A02").value = palabras[1];
  14.                 document.getElementById("A08").value = palabras[2];
  15.                 document.getElementById("A09").value = palabras[3];
  16.             }
  17.             else
  18.             {
  19.                 var palabras = contenido2.split(",");
  20.                 document.getElementById("A02").value = palabras[1];
  21.                 document.getElementById("A08").value = palabras[2];
  22.                 document.getElementById("A09").value = palabras[3];
  23.             }
De momento parece que funciona, aunque es cierto que con :
Código Javascript:
Ver original
  1. document.getElementById("A02").value = palabras[1];
tengo un problema que resolver, ya que el input aparece el valor completo, es decir:
"A,B,C,D,E,F"
Cuando sólo debería aparecer "A".
Así que seguiremos peleando.
Quedo pendiente de que Alexis88 pueda echarle un vistazo y sugerirme algo más adecuado. O cualquier otro miembro que se interese. Si no hay respuesta posteare SOLUCIONADO.
Gracias.