Hola Lexus
Ya casi lo tienes, solo falta pulir la función cargaPrecio(). Mira este ejemplo, es lo que necesitas, solo ahora debes adecuarlo a lo que tienes:
Código:
<html>
<head>
<title>Page title</title>
<script>
function cargaPrecio()
{
cadena = document.getElementById('select_3').options[document.getElementById('select_3').selectedIndex].value
var vec = cadena.split("|");
document.form1.precio_unitario.value = vec[0];
document.form1.ID.value = vec[1];
}
</script>
</head>
<body>
<form name="form1">
<select class='combo' id='select_3' name='select_3' onChange='cargaPrecio();'>
<option value="1.1245|ID01">Este es el ID 001</option>
<option value="0.3445|ID02">Este es el ID 002</option>
<option value="12.4147|ID03">Este es el ID 003</option>
<option value="10.9999|ID04">Este es el ID 004</option>
</select>
Precio <input type="text" value="" name="precio_unitario">
ID <input type="text" value="" name="ID"><br>
<form1>
<script>cargaPrecio();</script>
</body>
</html>
Como puedes ver, en la función javascript se separa el precio del ID y se colocan en los controles que ocupas. Ajax no tuvo nada que ver para esto salvo en preparar al tercer combo para que reaccione de esta forma.
Nota la llamada a la función que tengo al final del ejemplo, es para que los controles tengan datos de forma inicial, eso ya depende de tu diseño, si tienes el control de precio dentro de la capa que se actualiza en el ASP llamado por Ajax, no ocupas más que colocar un value con el valor del precio del primer registro.
Saludos