Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problema en menu de salto select con ajax

Hola como están?

tengo inconvenientes para mostrar las subcategorias

esto serian los script :

este es el script
    <script>
            function filtrarcategoria (valor){
         	$.ajax({
		type: 'POST',
		url: urlweb + 'inc/subcategorias.php',
		data: 'valor=' + valor,
		success: function(htmlrepuesta) {
		$('#segundacat').html(htmlrepuesta);
		
	   }
		
	});
	
}

    </script>


categorias.php
<div id="categorias"><select name="categoria" id="categoria" onChange="filtrarcategoria(2,categoria1.value);">
              <option value="0">Seleccionar Categoria</option>
              <?php
do {  
?>
              <option value="<?php echo $row_cat['valor']?>"><?php echo $row_cat['categorias']?></option>
              <?php
} while ($row_cat = mysql_fetch_assoc($cat));
  $rows = mysql_num_rows($cat);
  if($rows > 0) {
      mysql_data_seek($cat, 0);
	  $row_cat = mysql_fetch_assoc($cat);
  }
?>
            </select></div>
<div id="segundopasocat"></div>

Editado
0
Puntos
1556
Visitas
5
Resp
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #1
el error lo tienes en el segundo parámetro que le pasas a la función, tienes que cambiar esto:
<select name="categoria" id="categoria" onChange="filtrarcategoria(2,categoria1.value);">
por esto:
<select name="categoria" id="categoria" onChange="filtrarcategoria(2,categoria.value);">
como ves el name del select se llama categoria no categoria1, con esto funciona
0
Puntos
Por alber hace 102 meses
Administrador
Respuesta #2
por otra parte siempre te va a tomar el valor 2, cambia la función y la pones así:
<script>
            function filtrarcategoria (tipo,valor){
         	$.ajax({
		type: 'POST',
		url: urlweb + 'inc/subcategorias.php',
		data: 'valor=' + valor,
		success: function(htmlrepuesta) {
		$('#segundacat').html(htmlrepuesta);
		
	   }
		
	});
	
}

</script>
salu2
0
Puntos
Por alber hace 102 meses
Administrador
Respuesta #3
este es el de la subcat
 <div id="categorias">
<select name="categoria" id="categoria" class="estilosselectores" onChange="salto_filtro(categoria.value,categoria2.value);">
<option value="0">Seleccionar</option>

<?php do {?>
<option value="<?php echo $row_categ['nombre'] ?>"><?php echo $row_categ['nombre'] ?></option>
<?php } while ($row_categ = mysql_fetch_assoc($categ));?>

</select>
</div>
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #4
hola dejo aqui el script funcionando :

esto es en efectos.js
//////////////// funcion categorias ///////////
         function filtrar_categoria (valor){
		$.ajax({
		type: 'POST',
		url: 'inc/filtrocategorias.php',
		data: 'valor=' + valor,
		success: function(htmlrespuesta) {
			//Copiamos el resultado en #mostrar
			$('#segundacat').html(htmlrespuesta);
	   }
	});
	}
///////////////////////////////////////////////////
esto va en el menu donde queremos que se muestren los select :

vender.php
<?php require_once('/Connections/config.php'); ?>
<?php
 mysql_select_db($database_config, $config);
$query_cat = "SELECT * FROM hs_categorias";
$cat = mysql_query($query_cat, $config) or die(mysql_error());
$row_cat = mysql_fetch_assoc($cat);
$totalRows_cat = mysql_num_rows($cat);
?>
            

<div id="categoriasvender">
            <select name="categoria1" id="categoria1" onChange="filtrar_categoria(categoria1.value);">
              <option value="0">Seleccionar Categoria</option>
              <?php
do {  
?>
              <option value="<?php echo $row_cat['valor']?>"><?php echo $row_cat['categorias']?></option>
              <?php
} while ($row_cat = mysql_fetch_assoc($cat));
  $rows = mysql_num_rows($cat);
  if($rows > 0) {
      mysql_data_seek($cat, 0);
	  $row_cat = mysql_fetch_assoc($cat);
  }
?>
            </select></div>
            <div id="segundacat"></div>

<?php mysql_free_result($cat); ?>
y esto seria lo que trae los datos de la base de datos mysql..
<?php require_once('../Connections/config.php'); 

mysql_select_db($database_config, $config);


if ($_POST ['valor']==1){

$query_cat = "SELECT * FROM hs_vehiculos";
$texto='Vehiculos';
}
else if ($_POST ['valor']==2){

$query_cat = "SELECT * FROM hs_inmuebles";
$texto='Inmuebles';
}
else if ($_POST ['valor']==3){

$query_cat = "SELECT * FROM hs_servicios";
$texto='Servicios';
}
else if ($_POST ['valor']==5){

$query_cat = "SELECT * FROM hs_inmuebles";
$texto='Vehiculos';
}

$cat = mysql_query($query_cat, $config) or die(mysql_error());
$row_cat = mysql_fetch_assoc($cat);
$totalRows_cat = mysql_num_rows($cat);

?>
 <select name="categoria2" id="categoria2">
              <option value="0">Seleccionar <?php echo $texto ?></option>
              <?php
do {  
?>
              <option value="<?php echo $row_cat['id']?>"><?php echo $row_cat['nombre']?></option>
              <?php
} while ($row_cat = mysql_fetch_assoc($cat));
  $rows = mysql_num_rows($cat);
  if($rows > 0) {
      mysql_data_seek($cat, 0);
	  $row_cat = mysql_fetch_assoc($cat);
  }
?>
            </select>
<?php mysql_free_result($cat);
?>
bueno eso es todo..
totalmente funcionando jeje espero le pueda servir a alguien de ayuda..
saludos!!
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #5
Gracias por completar el tema fernando
1
Puntos
Por alber hace 102 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate