2013-03-15 67 views
1

我在我的頁面上有一個輸入,我要求用戶鍵入任何值,並根據他的輸入值從數據庫中顯示出來。如何使輸入搜索框上的向下箭頭工作?

例如,如果用戶鍵入p在輸入框他顯示程序員1程序員2就像它在google.com。這是我通過ajax做的。

我的問題是後程序員1個程序員顯示2,在向下箭頭鍵不把控制權交給程序員1而是不斷的搜索框和控制用戶必須點擊這些選項中的任何一個。我希望用戶能夠使用向下箭頭鍵回到他的搜索建議。

我試圖實現Focus函數,但它似乎並沒有工作,我真的不知道如何查找此信息?

代碼:

<input type="text" name="searchbox" class="search_input" id="searchboxid" autocomplete="off" autofocus="on" onkeyup="suggest(this.value)" placeholder="Please search here..."/> 

任何幫助將非常感激。

+0

這個Javascript不是PHP,但第二個.. – user666 2013-03-15 06:32:25

+0

哦,是的,Javascri PT。我雖然在PHP中製作網站。謝謝。任何幫助? – user2172696 2013-03-15 06:38:58

+0

是的,我正在工作,但我在工作,變慢;) – user666 2013-03-15 06:39:54

回答

0

嘗試使用autosuggest或自動完成。如果沒有任何作用,請嘗試通過十六進制代碼鍵入向下箭頭鍵。它有點黑,但它在很多情況下都有效,只有概率可能是AV,它可以將其識別爲鍵盤記錄器。

+0

@Samy,偉大的想法,我用這個方法很長一段時間,它的工作,直到基於Web的鍵盤記錄器來到現場。 – 2013-03-15 06:56:16

1

只是一個建議。 而不是爭取你自己的代碼或去鍵入的東西。它更好地使用jquery自動完成。您可以輕鬆地移植您的代碼,以適應Jquery auto complete.Its給出選項,您期待。 請參閱下面的URL。 http://jqueryui.com/autocomplete/

+0

Hi Samy, 非常感謝你的建議,這是一個很棒的主意,我目前正在努力實現它。我面臨的唯一問題是,我無法將html(數據)輸入到數組中。 – user2172696 2013-03-15 07:15:17

+0

你在談論哪個數組? – Samy 2013-03-15 07:20:58

0

奧凱短訴說:我會在後面的代碼(15分鐘再予)

HTML:

<input type=""text id="r0"> 
<div id="r1">the damn results</div> 
<div id="r2">another dman result</div> 

的Jquery:

$("body").keydown(function (e) { 
    if (e.keyCode == 38) { //up-arrow 

//check wich one is focus 
//????? 
//r 
     if ($("#" + rId).length > 0) { 
      //focus on this element 
     } 
    } 

    if (e.keyCode == 40) { //down-arrow 

//check wich one is focus 
//????? 
//r 
     if ($("#" + rId).length > 0) { 
      //focus on this element 
     } 
    } 
}); 

生我會做出來的第二個

相關問題