JQuery - Filtrar por categoria

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 24 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Filtrar por categoria

Publicado por Edward (1 intervención) el 15/08/2019 02:02:27
Quiero hacer un filtro de productos por categoria por ejemplo, si selecciono laptops, solo me salgan las lapotos y los demas productos no, pero quiero hacerlo desde los botones de un navbar, este es el codigo del nav y el diseño
20190814_175031
20190814_175118
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 229
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Filtrar por categoria

Publicado por joel (71 intervenciones) el 15/08/2019 08:28:27
Seria mejor que pegaras tu código en vez de poner una imagen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de santi
Val: 162
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Filtrar por categoria

Publicado por santi (55 intervenciones) el 19/08/2019 22:50:54
Hola,

te adjunto un código sencillo pero funcional (sin clases bootstrap ni nada) para que veas cómo puedes hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
	<div >
		<nav id="mi-menu">
			<div>
				<ul>
					<li>
						<a href="#" data-category="todos">Todos</a>
					</li>
					<li>
						<a href="#" data-category="ordenadores">Ordenadores</a>
					</li>
					<li>
						<a href="#" data-category="laptos">Laptos</a>
					</li>
					<li>
						<a href="#" data-category="celulares">Celulares</a>
					</li>
				</ul>
			</div>
		</nav>
		<div id="productos">
			<ul>
				<li class="ordenadores">
					ordenador 1
				</li>
				<li class="laptos">
					lapto 1
				</li>
				<li class="celulares">
					celular 1
				</li>
				<li class="ordenadores">
					ordenador 2
				</li>
				<li class="celulares">
					celular 2
				</li>
				<li class="ordenadores">
					ordenador 3
				</li>
				<li class="laptos">
					lapto 2
				</li>
				<li class="laptos">
					lapto 3
				</li>
				<li class="celulares">
					celular 3
				</li>
			</ul>
		</div>
	</div>
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
<script>
jQuery(document).ready(function($) {
	//selector de #mi-menu
	$('#mi-menu').find('a').on('click', function(e){
		e.preventDefault();
		var productos = $('#productos').find('li');//listado productos
		$(productos).hide();//ocultamos todos los "<li>" del listado "productos"
		var tipo = $(this).data('category');//data-category
		if(tipo == 'todos'){
			//si se hace click en "todos"
			$(productos).show();//mostramos todos los productos
		}else{
			//si no
			$('#productos').find('li.'+tipo).show();//mostramos los que tienen la misma clase que el "data-category" que se ha hecho click ;)
		}
	});
});
</script>
</body>
</html>

Haz un copy/paste, pruébalo y nos cuentas ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar