Hola a todos:
aunque creo que no es bien bien el tema sobre programacion, pero bueno espero que tanto moderadores como admins sepan perdonar la torpeza, al grano, el tema es que tengo un script basado en Jquery el cual en firefox no funciona, es script es cuestion es este:
$(document).ready(function(){
$("#categoria").change(function(){
var categoria = $("#categoria").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"categoria="+ categoria,
success: function(opciones){
$("#subcategoria").html(opciones);
}
})
});
$("#subcategoria").change(function(){
var subcategoria = $("#subcategoria").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"subcategoria="+ subcategoria,
success: function(opciones){
$("#marca").html(opciones);
}
})
});
$("#marca").change(function(){
var marca = $("#marca").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"marca=" + marca + "&category=" + categoria + "&subcategory=" + subcategoria,
success: function(resultado){
$("#resultado").html(resultado);
}
})
});
});
Se trata de hacer con ello unos combos dependientes, exactamente 3, el ultimo a llenarse seleccionarse una opcion deberias mostrar en un div de resultado de la busqueda en la db mysql, por ejemplo 1º combo se selecciona (se llena nada mas cargar la pagina)->Guitarras con ello se llena el 2º combo de opciones ->Electricas y se llena sucesivamente el 3º combo ->Fender esta ultima seleccion deberia bolcar en el div de resultado tantas Guitarras electricas Fender como existan en la db pero en IE7 e IE8 funciona sin problema pero en firefox NO, a ver si me podeis echar una mano.
Saludos y gracias de antemano
Script en Jquery
Moderador: Moderadores
Re: Script en Jquery
Hola de nuevo:
Bueno ya encontre el problema con ajax, firefox y demas me explico, el problema estaba aqui:
$("#marca").change(function(){
var marca = $("#marca").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"marca=" + marca + "&category=" + categoria + "&subcategory=" + subcategoria,
success: function(resultado){
$("#resultado").html(resultado);
}
})
});
Como se ve estre trozo del script hace un envio con ajax a una url compuesta por variables, bien, explorer por alguna razon las variables en javascript las guarda aunque esten fuera de su ambito de accion { } pero firefox no, como manda javascript, dice javascript que la declaracion de variables y su valor solo tiene existencia dentro de las llaves donde se declaran y se extinguen al llegar al final osea a la llave de final de funcion, para arreglarlo a sido tan facil como declarar esas variables faltantes dentro de la funcion final, osea la que veis mas arriba quedando asi:
$("#marca").change(function(){
var marca = $("#categoria").val();
var marca = $("#subcategoria").val();
var marca = $("#marca").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"marca=" + marca + "&category=" + categoria + "&subcategory=" + subcategoria,
success: function(resultado){
$("#resultado").html(resultado);
}
})
});
Pues nada mas que comentar agrecer la atencion y hasta la proxima
Bueno ya encontre el problema con ajax, firefox y demas me explico, el problema estaba aqui:
$("#marca").change(function(){
var marca = $("#marca").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"marca=" + marca + "&category=" + categoria + "&subcategory=" + subcategoria,
success: function(resultado){
$("#resultado").html(resultado);
}
})
});
Como se ve estre trozo del script hace un envio con ajax a una url compuesta por variables, bien, explorer por alguna razon las variables en javascript las guarda aunque esten fuera de su ambito de accion { } pero firefox no, como manda javascript, dice javascript que la declaracion de variables y su valor solo tiene existencia dentro de las llaves donde se declaran y se extinguen al llegar al final osea a la llave de final de funcion, para arreglarlo a sido tan facil como declarar esas variables faltantes dentro de la funcion final, osea la que veis mas arriba quedando asi:
$("#marca").change(function(){
var marca = $("#categoria").val();
var marca = $("#subcategoria").val();
var marca = $("#marca").val();
$.ajax({
url:"procesa.php",
type: "POST",
data:"marca=" + marca + "&category=" + categoria + "&subcategory=" + subcategoria,
success: function(resultado){
$("#resultado").html(resultado);
}
})
});
Pues nada mas que comentar agrecer la atencion y hasta la proxima