Saludos de nuevo;
A continuación te voy a colocar el paso a paso tal y como me lo he ingeniado a ver si estoy en lo correcto.
1.- Activo los select dependiendo del criterio de busqueda y de una vez defino la consulta que voy a realizar en la variable llamada defcta para luego utilizar el valor de esa variable en otra funcion.
Código HTML:
function defcriterio()
{
var selected = $jMaQma("#criterio option:selected");
var msg = "";
var defcta = "";
if(selected.val() != 0)
{
var variable = selected.val();
switch (variable)
{
case "1":
$jMaQma("#country").attr("disabled",true);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",true);
$jMaQma("#searchfor").attr("disabled",false);
defcta = "1";
break;
case "2":
$jMaQma("#country").attr("disabled",false);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",true);
$jMaQma("#searchfor").attr("disabled",true);
cargar_paises();
defcta = "2";
break;
case "3":
$jMaQma("#country").attr("disabled",true);
$jMaQma("#state").attr("disabled",true);
$jMaQma("#city").attr("disabled",true);
$jMaQma("#rubro").attr("disabled",false);
$jMaQma("#searchfor").attr("disabled",true);
cargar_rubro();
defcta = "3";
break;
}
}
else
{
msg = "El valor seleccionado no es valido";
}
$("#msg").html(msg);
}
2.- Habiendo seleccionado el criterio y la definicion de la busqueda con la variable defcta, entonces preparo los parámetros que voy a utilizar para cada tipo de busqueda:
Código HTML:
function defbusqueda()
{
switch (defcta)
{
case "1":
var cliente = $jMaQma("#searchfor").val();
var parametros = {
"bus_por" : 1,
"searchfor" : cliente
};
alert(parametros);
break;
case "2":
var selpais = $jMaQma("#country option:selected");
var seledo = $jMaQma("#state option:selected");
var selciu = $jMaQma("#city option:selected");
if((selpais.val() != 0) && (seledo.val() = 0) && (selciu.val() = 0))
var pais = $jMaQma("#country").val();
var parametros = {
"bus_por" : 2,
"searchfor" : pais
};
if((selpais.val() != 0) && (seledo.val() != 0) && (selciu.val() = 0))
var estado = $jMaQma("#state").val();
var parametros = {
"bus_por" : 3,
"searchfor" : estado
};
if((selpais.val() != 0) && (seledo.val() != 0) && (selciu.val() != 0))
var ciudad = $jMaQma("#city").val();
var parametros = {
"bus_por" : 4,
"searchfor" : ciudad
};
alert(parametros);
break;
case "3":
var xrubro = $jMaQma("#rubro").val();
var parametros = {
"bus_por" : 5,
"searchfor" : xrubro
};
alert(parametros);
break;
}
}
Fijate que para el caso en el que la busqueda será por ubicación pregunto que valor tiene cada lista de selección y dependiendo de ello defino los parámetros que luego voy a utilizar en el AJAX.
3.- Ya habiendo identificado el criterio y el tipo de busqueda a utilizar entonces procedo a armar el ajax y a llamar el PHP para que ejecute el query que corresponda a la selección.
Código HTML:
function busqueda()
{
$jMaQma.ajax(
{
data: parametros,
url: 'archivo_receptor.php',
type: 'post',
beforeSend: function ()
{
$("#capaAjax").html("<div align='center'>Cargando...</div>");
},
success: function (response)
{
$("#capaAjax").html(response);
}
});
}
Que te parece?
Como está quedando?