Foros del Web » Creando para Internet » HTML »

Jquery filtro imágenes, añadir un filtro más.

Estas en el tema de Jquery filtro imágenes, añadir un filtro más. en el foro de HTML en Foros del Web. Hace unos dias abrí el [URL="http://www.forosdelweb.com/f18/buscador-imagenes-con-thumbnails-filtro-902052/"]siguiente hilo[/URL] pero en la sección php, ahora he encontrado una solución a lo que buscaba.. Más o menos [URL="http://www.danieltulp.nl/work/quicksand-multiple.htm"]esto[/URL] ...
  #1 (permalink)  
Antiguo 14/04/2011, 11:45
 
Fecha de Ingreso: julio-2008
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 0
Jquery filtro imágenes, añadir un filtro más.

Hace unos dias abrí el [URL="http://www.forosdelweb.com/f18/buscador-imagenes-con-thumbnails-filtro-902052/"]siguiente hilo[/URL] pero en la sección php, ahora he encontrado una solución a lo que buscaba..

Más o menos [URL="http://www.danieltulp.nl/work/quicksand-multiple.htm"]esto[/URL]

Pero, llevo varios días intentando añadir un campo más y no hay manera.

Al menos por si alguien busca algo parecido, aquí lo tiene.

La descarga del ejemplo la podréis encontrar [URL="http://forum.jquery.com/topic/quicksand-plugin-using-multiple-filters"]aquí[/URL]


Un Saludo.. no se si alguien me puede echar un cable para añadir un campo más mirando el codigo, lo que hay que modificar es...

Código:
$('select').change(
					function() {
						$(this).addClass('animate');
						if ($($filterAlpha).val() == '0'){
							if ($($filterBeta).val() == '0'){
								if ($($filterGamma).val() == '0'){
									//0-0-0
									var $filteredData = $data.find('div');
								} else {
									//0-0-1
									var $filteredData = $data.find('div[data-gamma=' + $($filterGamma).val() + ']' );
								}
							} else {
								if ($($filterGamma).val() == '0'){
									//0-1-0
									var $filteredData = $data.find('div[data-beta=' + $($filterBeta).val() + ']' );
								} else {
									//0-1-1
									var $filteredData = $data.find('div[data-beta=' + $($filterBeta).val() + ']' + 'div[data-gamma=' + $($filterGamma).val() + ']');
								}
							}
						} else {
							if ($($filterBeta).val() == '0'){
								if ($($filterGamma).val() == '0'){
									//1-0-0
									var $filteredData = $data.find('div[data-alpha=' + $($filterAlpha).val() + ']' );
								} else {
									//1-0-1
									var $filteredData = $data.find('div[data-alpha=' + $($filterAlpha).val() + ']' + 'div[data-gamma=' + $($filterGamma).val() + ']');
								}
							} else {
								if ($($filterGamma).val() == '0'){
									//1-1-0
									var $filteredData = $data.find('div[data-alpha=' + $($filterAlpha).val() + ']' + 'div[data-beta=' + $($filterBeta).val() + ']');
								} else {
									//1-1-1
									var $filteredData = $data.find('div[data-alpha=' + $($filterAlpha).val() + ']' + 'div[data-beta=' + $($filterBeta).val() + ']' + 'div[data-gamma=' + $($filterGamma).val() + ']');
								}
							}
						}
ese es el filtro, que filtra "alpha", "beta" y "gamma", las opciones de a continuación.

Código:
<form id="filter">
			<select name="alpha">
				<option value="0">All items</option>
				<option value="1">Pepper</option>
				<option value="2">Apple</option>
			</select>
			<select name="beta">
				<option value="0">All colours</option>
				<option value="1">Red</option>
				<option value="2">Green</option>
			</select>
			<select name="gamma">
				<option value="0">All places</option>
				<option value="1">Couche</option>
				<option value="2">Table</option>
			</select>
		</form>
solo necesito un filtro más, "delta"

por cierto el javascript de quicksand que hay en la descarga no es bueno.

seria el [URL="https://github.com/razorjack/quicksand/raw/master/jquery.quicksand.js"]siguiente[/URL]

Un Saludo!

Creo que iría mejor en la sección javascript.. Si lo podéis mover..

Última edición por Takehiko; 15/04/2011 a las 09:26

Etiquetas: jquery, filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.