rolloMedlem sedan aug. 2001203 inlägg Tjena!
Jag vill skapa en sökning som söker direkt på det som användaren fyller i i en sökrutan.
Ett exempel:
Jag börjar skriva apelsin i fältet och samtidigt som jag skriver i bokstav för bokstav så börjar sökningen, dvs när jag skrivit in ap så visas både apelsin och apa i resultatet i ett fält under.
Jag har sökt, både här och på andra ställen, men har inte kunnat hitta någon bra lösning!
Tar tacksamt emot tips!
rollo
//EDIT
funktionen skall ligga på en JSP sida och det som skall sökas i finns i contexten för sidan
Scha W3Schools har något exempel. Det blir självfallet ajax i fallet.
Har en liknade funktion. Du kan titta lite på koderna
if(funktion=='visaStugOmraden'){
var sokruta = document.getElementById("omrade");
var sokrutaValue = sokruta.value;
var omradeTips = document.getElementById('omradeTips');
if(sokrutaValue.length>=1 && ajax.forstaSokningen==false){
ajax.forstaSokningen=true;//Gör så att man inte loopar områderna flera gånger
ajax.stugOmraden = new Array()
ajax.omrSluta = data.getElementsByTagName('omrade').length;
for(var i = 0; i < ajax.omrSluta; i++) {
omrade = data.getElementsByTagName('omrade')[i].firstChild.nodeValue;
ajax.stugOmraden[i] = omrade;
}
}
//Skapa själva sökfunktionen
/*Det hela går ut på att man tar ut vad man har skrivit i textboxen Ex: Ka. Man tar
då ut längden för Ka=2 som man tar ut -1 för att det ska passa arrayen.
Sedan kör man en if-sats.*/
stoppSokRuta=sokrutaValue.length;
var jamSokOrd = sokrutaValue.substring(0,stoppSokRuta)
for(var i = 0; i < ajax.omrSluta; i++) {
var jamfor = ajax.stugOmraden[i].substring(0,stoppSokRuta).toUpperCase();
if(sokrutaValue.toUpperCase()==jamfor){
omradeTips.innerHTML='Tips på område: '+ajax.stugOmraden[i];
}
}
if(sokrutaValue.length==0){
omradeTips.innerHTML='';
}
}