2011-04-12 104 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 
});