Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2011, 10:45
Takehiko
 
Fecha de Ingreso: julio-2008
Mensajes: 27
Antigüedad: 15 años, 8 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 08:26