2011-04-12 74 views
54

我有一個顯示值的文本字段。我想要的是,當用戶在該文本字段中寫入新值並按下回車鍵時,會觸發ajax函數執行分頁操作。我有這樣一個文本字段:用jquery按下檢測回車鍵

<input type="text" id="page" name="page" value="<?php echo($this->pn);?> /> 

而當用戶寫任何新的價值,並按下Enter鍵,我想下面的AJAX功能觸發:

 
update_ajax2({rpp:<?php echo($this->rpp);?>,pn:document.page.paged.value,filter:'<?php echo($this->filter);?>',orderby:'<?php echo($this->orderby);?>'}); 

我嘗試使用按鍵事件檢測if(e.which===13)但這並不能解決問題。任何人都可以引導我?

+0

爲什麼不作用於不'keypress'事件解決問題?你有錯誤嗎?你嘗試過'keyup'嗎? – ctcherry 2011-04-12 07:13:09

+0

@ctcherry它在1鍵按下時調用功能2種類型。首先它加載我想要的值,然後在相同的按鍵上按下它加載文本框的'value'屬性的函數 – 2011-04-12 07:19:39

回答

122
<input type="text" id="txt"/> 

$('#txt').keydown(function (e){ 
    if(e.keyCode == 13){ 
     alert('you pressed enter ^_^'); 
    } 
}) 

jsfiddle

+0

@experimentX感謝傢伙,但它總是具有值在textbox的'value'屬性中。它不檢測新的價值.... – 2011-04-12 07:18:04

+0

@AwaisQarni你可以發佈小提琴嗎? – 2011-04-12 07:19:20

+2

@experimentX老兄小提琴? – 2011-04-12 07:20:06

0

鍵按下事件應該努力嘗試

function keyPressedTest(a) 
{ 
    a=(a)?a:window.event; 
    input=(a.target)?a.target:a.srcElement; 
    if(a.keyCode==13) 
    { 
     your_function() 
    } 
} 
1

使用此,它爲我工作:)

$("#search-txt").on("keydown", function(event) { 
    if(event.which == 13) 
     return false;//do something 
});