iTunes-liknande sökning med Javascript?

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1

Jag behöver lite tips på var jag kan finna lite information (helst färdiga script eftersom budgeten är för snål för att utveckla något från scratch) om hur gå till väga för att skapa ett javascript som filtrerar en multipel selectmeny utifrån vad som skrivs in i ett textfield.

Tänk itunes sökfunktion, där alla låtar som innehåller "a" visas om man skriver in "a", alla med "abb" om man skriver in "abb" och så vidare.

Detta för att låta en användare på en site kunna filtrera bort irrelevanta rader ur selectmenyn (som är otroligt lång) på ett intuitivt och mac-igt sätt.

Så alla tips och länkar mottages varm!

/.scooter

  • Medlem
  • Malmö
  • 2005-01-13 17:49
function filter(){
			var oSelect = document.Form1.lstContacts;
			var sFilter = document.Form1.txtFilter.value.toLowerCase();
			var i = 0;
			for(i=oSelect.options.length-1;i>=0;i--){
				oSelect.options[i] = null;
			}	

			for(i = 0;i<aValues.length;i++){
				if ((aValues[i][0].toLowerCase().indexOf(sFilter) >= 0) || (sFilter == "")){
					oSelect.options[oSelect.options.length] = new Option(aValues[i][0],aValues[i][1]); 
				}
			}	
		}			

		function fillArray(){
			var oSelect = document.Form1.lstContacts;
			aValues = new Array(oSelect.options.length);		

			for(var i=0;i<oSelect.options.length;i++){
				aValues[i] = new Array(oSelect.options[i].text,oSelect.options[i].value);
			}
		}

fillArray() ska köras på onLoad och filter() ska köras på onKeyDown på textboxen txtFilter.
Det ska ju också finnas en select som heter lstContacts och formen ska heta Form1...

Det borde gå att bygga ut den till att filtera i flera boxar...

Tackar - testar imorrn om det är vad jag behöver!

B t w - funkar den "bakåt" också?

  • Medlem
  • Malmö
  • 2005-01-13 22:34

Jepp!

Det lägger innehållet i listan i en array, sen fyller den listan från arrayen, via filtret, vid varje knapptryckning.

Är det någon som har en effektivare variant så säg till!

Hej igen!

Funktionen är perfekt - det är precis så jag vill det ska fungera men den buggar lite, verkar det som. Eller så är det jag som inte förstått något...

Testa på http://tosti.dk/test1.php

Den funkar något dåligt bakåt, och skriver du "tern" hittar den något som inte har tern i sig...

Tackar för all input i fallet!

onkeyup verkar stabilare - kanske för att värdet i textboxen då säkert är där...

  • Medlem
  • Malmö
  • 2005-01-14 13:19

Jag ser nu att det är onkeyup jag använt också...

Jag får inga fel på "tern", den hittar en rad med ananas.. är det felet borta när du kör onkeyup?

Jag använder scriptet i ett projekt mot kund så jag är glad om jag kan hitta buggarna innan de gör det...

Ursprungligen av axpax:

Jag ser nu att det är onkeyup jag använt också...

Jag får inga fel på "tern", den hittar en rad med ananas.. är det felet borta när du kör onkeyup?

Jag använder scriptet i ett projekt mot kund så jag är glad om jag kan hitta buggarna innan de gör det...

Nej, nu tror jag det kör sedan jag ändrade mot onkeyup

Tusen tack för hjälpen!

1
Bevaka tråden