ugrás a tartalomhoz

JS kereső billentyűzettel!

pinguka · 2011. Jan. 31. (H), 05.32
Haló!

Csinálgatok egy Javascriptes keresőt amihez tartozik egy billentyűzet is.

Remekül működik csak egy a problémám. Amikor a billentyűzeten megnyomok egy gombot
nem hívja meg a kereső függvényt, viszont a klikkelt karaktert beírja a kereső input-ba!

http://asdesign.digitaltrip.hu/jsSer/

---------------------------------------------------

JS kód:
  1. $(document).ready(function(){     
  2.     function clear()  
  3.     {  
  4.         var clTotal = $(".gridElement");  
  5.         for (var i = 1; i <= clTotal.length ; i++)  
  6.         {  
  7.             $("#grid"+i).fadeIn();  
  8.             document.getElementById("insert").value = "";  
  9.         }  
  10.     }  
  11.     function gridSearch(){  
  12.         var total = $(".gridElement");  
  13.           
  14.         for (var i = 1; i <= total.length ; i++)  
  15.         {  
  16.             if(document.getElementById("insert").value == "")  
  17.             {  
  18.                 clear();  
  19.             }  
  20.             else if(document.getElementById("insert").value != "")  
  21.             {  
  22.                 var str = document.getElementById("name" + i).innerHTML;  
  23.                 var ins = document.getElementById("insert").value;  
  24.                 if(str.toLowerCase().match(ins.toLowerCase()) == null)  
  25.                 {  
  26.                     $("#grid"+i).fadeOut();  
  27.                 }  
  28.                 else if(str.toLowerCase().match(ins.toLowerCase()) != null)  
  29.                 {  
  30.                     $("#grid"+i).fadeIn();  
  31.                 }  
  32.             }  
  33.         }  
  34.     }  
  35.     $("#insert").keyup(function(){  
  36.         gridSearch();  
  37.     });  
  38. });  
  39. function button(char)  
  40. {  
  41.     document.getElementById("insert").value += char.toLowerCase();  
  42.     gridSearch();  
  43. }  
Próbáltam úgy is, hogy a document.ready között legyen a button() funkció, de akkor még a klikkelt karaktert sem írja be a kereső mezőbe!

Előre is köszönöm a választ!
 
1

A kérdés természetesen az,

pinguka · 2011. Jan. 31. (H), 05.35
A kérdés természetesen az, hogy mi lehet a probléma? :)
2

gridSearch is not defined

T.G · 2011. Jan. 31. (H), 08.14
Firebug szokott segíteni! :)
3

Ezzel nem mentem sokra

pinguka · 2011. Jan. 31. (H), 14.08
Ezzel nem mentem sokra :)
Hiszen definiálva van. Nem értem miért nem látja. Mert ha csak simán beírsz valamit a text inputba akkor működik.
5

láthatóság

T.G · 2011. Jan. 31. (H), 19.45
Ha egy függvényben létrehozol egy függvényt, akkor a létrehozott függvényt csak a külső függvényen belülről lehet meghívni, máskülönben a fenti hibába ütközöl.
4

Ez lett a

pinguka · 2011. Jan. 31. (H), 14.14
Ez lett a megoldás!
  1. $(".button").click(function(){  
  2.     var char = $(this).html();  
  3.     document.getElementById("insert").value += char.toLowerCase();  
  4.     gridSearch();  
  5. });