2010-09-30 33 views
0

我需要你的一點幫助。問題在jquery中輸入關鍵事件

在我的情況下,我在b.php上有搜索文本框,用戶可以在其中輸入用戶名並按回車鍵以獲取serched用戶詳細信息。 好吧,這是迄今爲止。現在我的搜索代碼處理數據庫已經準備好在c.php中,我想通過j.php的事件來調用它。 執行我的a.php是主文件,並通過點擊事件調用b.php。現在流量爲jquery將是這樣的a.php> b.php> c.php

沒有按鈕來搜索,按回車鍵只會給搜索到的用戶。

我寫詩我的代碼中的jQuery爲:

$(document).ready(function(){ 

    $('#srchtxt').bind('click', function(){ 
    if($('#srchtxt').val() != '') { 
       $('#loading').html('<img src="images/ajax-loader(1).gif">'); 
       $('#loading').show(); 
       $.get('/usersearch.php?tnm3='+arr3, '', function(data){ 
       $('#content').html(data); 
       $('#loading').hide();  
     });  
      } 
    }); 
    $('#srchtxt').bind('keyup', function(e){    
     if(e.keyCode==13) { 
      $("#srchtxt").trigger('click');  
     }  
    }); 
}); 

此事件不工作。你能幫我嗎?

+2

什麼是''#srchtxt''?在[簡單測試用例](http://jsfiddle.net/Dmx6Q/1/)中顯示了這個工作。 – Reigel 2010-09-30 06:30:19

+0

@Reigel是文本框的ID。 – Rishi2686 2010-09-30 06:32:20

+0

並看看我的測試用例,你的代碼有效。 – Reigel 2010-09-30 06:33:49

回答

0

它不適用於Firefox和IE。

對於IE我認爲,我們必須使用下面的代碼來獲取事件

如果(window.event){ window.event.keyCode }

+1

然後看看這個 - [簡單測試用例](http://jsfiddle.net/Dmx6Q/1/show) - [代碼](http://jsfiddle.net/Dmx6Q/1/) – Reigel 2010-09-30 06:35:35

+0

是的,夥計,越來越現在,一個小錯誤導致了這一點。還有一個問題,jQuery中是否有任何文本更改事件,因此他不會輸入文字,而是輸入文本,他將獲得與文本相關的搜索。因爲我是jquery的新手,不知道它。我會非常感謝你的幫助!先謝謝你。 – Rishi2686 2010-09-30 07:05:04

1

我認爲你混合了搜索字段和搜索按鈕。

正確的解決方案如下因素:

$('#srchtxt').keyup(function(e){    
     if(e.keyCode==13) { 
      $("#search-submit").trigger('click');  
     } 
}); 
$('#search-submit').click(function(){alert('button has been clicked')}); 

見工作示例here

0

我通常使用event.which代替event.keyCode 可能有更多的瀏覽器兼容。

另外,你混了一些ID ...