Gracias.
Edito: Ahora si, lo mas que he logrado y que segun yo esta bien pues funciona aunque en firefox no funciona tan bien como en ie (en firefox tienes que pasar el foco a otro elemento por medio del tab y en ie una vez esta vacio el campo puedes desplazarte a cualquiera de los que se habilitan. Aun asi, tiene una falla que no encuentro.
En la parte donde se checa que input es modificado (de original y orden), se supone que deshabilita el combo publicacion (todos los demas elementos del formulario que estan debajo de publicacion estan deshabilitados por default y se habilitan cuando se elije una publicacion y se deshabilitan cuando se selecciona el primer elemento del combo publicacion ya que todos estos se usan para una sola busqueda). El caso es que cuando se modifica original se deshabilita orden y publicacion sin embargo publicacion no se deshabilita, pero cuando se modifica orden si se deshabilita junto con original.
Código Javascript
:
Ver original<script>
$(document).ready(function(){
$("select").change(function(){
// Vector para saber cuál es el siguiente combo a llenar
var combos = new Array();
combos['publicacion'] = "edicion";
// Tomo el nombre del combo al que se le a dado el clic por ejemplo: publicacion
posicion = $(this).attr("name");
// Tomo el valor de la opción seleccionada
valor = $(this).val()
// Evaluó que si es publicacion y el valor es 0, deshabilite los elementos del formulario que estan debajo del combo publicacion, que habilite los que estan arriba y vacie el combo edicion
if(posicion == 'publicacion' && valor==0){
$("#ord :input").removeAttr("disabled");
$("#ori :input").removeAttr("disabled");
$("#edicion").attr("disabled","disabled");
$("#fecha").attr("disabled","disabled");
$("#butfec").attr("disabled","disabled");
$("#pag :input").attr("disabled","disabled");
$("#edicion").html('<option value="" selected="selected">-----------</option>')
$("#pagina").attr("value","");
$("#fecha").attr("value","");
}else{
//deshabilita los elementos del formulario que estan arriba del combo publicacion y habilita los que estan abajo
$("#ori :input").attr("disabled","disabled"); //capa (div) que contiene el textbox y boton correspondiente a original
$("#ord :input").attr("disabled","disabled"); //capa (div) que contiene el textbox y boton correspondiente a orden
$("#edicion").removeAttr("disabled");
$("#fecha").removeAttr("disabled");
$("#butfec").removeAttr("disabled");
$("#pag :input").removeAttr("disabled");
/* En caso contrario agregado el letreo de cargando al combo edicion
Ejemplo: Si selecciona publicacion se va a tener que el siguiente según el vector combos es: edicion por qué combos [publicacion] = edicion
*/
$("#"+combos[posicion]).html('<option selected="selected" value="0">Cargando...</option>')
/* Verificamos si el valor seleccionado es diferente de 0 y si el combo es diferente de edicion, esto porque no tendría caso hacer la consulta edicion porque no existe un combo dependiente de este */
if(valor!="0" || posicion !='edicion'){
// Llamamos a pagina de combos.php donde ejecuto las consultas para llenar el combo
$.post("combo.php",{
combo:$(this).attr("name"), // Nombre del combo
id:$(this).val() // Valor seleccionado
},function(data){
$("#"+combos[posicion]).html(data); //Tomo el resultado de pagina e inserto los datos en el combo indicado
})
}
}
})
$("input").change(function(){
posicion = $(this).attr("name");
valor = $(this).val();
if(posicion == "original" && valor!=""){
$("#ord :input").attr("disabled","disabled"); //capa /div) que contiene el textbox y boton correspondiente a original
$("#publicacion").attr("disabled","disabled");
}
else{
$("#ord :input").removeAttr("disabled");
$("#publicacion").removeAttr("disabled");
}
if(posicion == "orden" && valor!=""){
$("#ori :input").attr("disabled","disabled"); //capa /div) que contiene el textbox y boton correspondiente a original
$("#publicacion").attr("disabled","disabled");
}
else{
$("#ori :input").removeAttr("disabled");
$("#publicacion").removeAttr("disabled");
}
})
})
</script>
Espero me entiendan y me digan donde esta el error, yo ya me canse de ver el codigo y no ver errores (de hecho vi otros pero ese no).
Gracias de nuevo y si esto amerita ir en otro tema lo pongo.