En tu código original, veo que ejecutas una función por cada vez que se elija un valor del combo 1 y haces algo muy similar con el combo 3. Lo que puedes hacer es almacenar ese conjunto de instrucciones en una función nombrada y luego simplemente la invocas:
Código Javascript
:
Ver original$(document).ready(function(){
function foo() {
$("#combo1 option:selected").each(function (){
$.post("combo1.php", { elegido: $(this).val() }, function(data){
$("#combo2").html(data);
$("#combo3").html("");
});
});
}
$("#combo1").change(foo);
$("#combo3").change(function () {
$("#combo3 option:selected").each(function (){
$.post("combo3.php", { elegido: $(this).val() }, function(data){
$("#combo4").html(data);
});
foo(); //Ejecutas la función relacionada al combo 1
});
});
});
En las líneas 5 y 6, siempre reemplazas el valor del combo 2 por cada respuesta recibida y el combo 3 queda vacío. No le veo mucho sentido a eso, creo que deberías de replantear lo que buscas hacer en esa parte.
Saludos