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$sqlservicios="SELECT Id_Servicio, Servicio, Producto, Tipo, Precio, Coste, Acronimo
FROM servicios";
{
echo "<option value ='".$resultservicios['0']."'>"
.",".$resultservicios['2']
.",".$resultservicios['4']
.",".$resultservicios['5']
.",".$resultservicios['6'].
"
</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 originalfunction seleccionar_servicios()
{
//document.getElementById('S05').value = document.getElementById('4').value;
var select = document.getElementById("A02"); //El <select>
valor = select.value; //El valor de la opción seleccionada
//contenido = select[select.selectedIndex].innerText; //El contenido de la opción seleccionada
contenido1 = select[select.selectedIndex].innerText;
contenido2 = select[select.selectedIndex].textContent; //Concateno el valor y el contenido
if(contenido1 != undefined)
{
var palabras = contenido1.split(",");
document.getElementById("A02").value = palabras[1];
document.getElementById("A08").value = palabras[2];
document.getElementById("A09").value = palabras[3];
}
else
{
var palabras = contenido2.split(",");
document.getElementById("A02").value = palabras[1];
document.getElementById("A08").value = palabras[2];
document.getElementById("A09").value = palabras[3];
}
De momento parece que funciona, aunque es cierto que con :
Código Javascript
:
Ver originaldocument.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.