jQuery keyup应该应该触发enter键

时间:2014-03-05 10:17:41

标签: javascript jquery ajax

我有一个简单的问题(希望如此),但我无法找到明确的解决方案。

我有一个数据表,它有一个文本输入字段。用户在文本字段中输入文本,然后按Enter键。这会自动从输入的文本中过滤。

我希望使用onkeyup事件来触发,因此当用户在文本字段中输入值时,数据表会自动更新,而不是用户必须按Enter键。

<input type="text" name="input" class="filter" id="input" onkeyup="functionName(this)" value="">

<script>
function functionName(e) {
alert(e.value);
}
</script>

此代码有效,因此当我输入一个值时,会弹出一个警告,显示输入的值。

是否可以更改提醒,提交或复制“输入”键的内容。

从尝试寻找解决方案来看,它更难,因为它不是表单,因为它使用ajax,因此.submit方法不起作用。

我也希望像这样的解决方案能够起作用

<script>

var e = jQuery.Event("keyup");
e.which = 13; // Enter
$("#input").trigger(e);

</script>

我知道有许多类似的主题,我看过,但似乎没有一个对我来说是正确的解决方案。 谢谢你的帮助。

//

修改

//

根据键盘问题,如何在过滤后重新聚焦光标。这是在过滤的同时完成的吗?

        $obj.find('input.filter').on('keyup',function(e){
               e.preventDefault();
               ajax($obj);
        });

3 个答案:

答案 0 :(得分:1)

你正在使用jQuery,所以没有必要使用onclick="",其次尽量避免使用ID和&amp;的保留名称。课程(例如#input)。最后,您可以使用$.post()对每个.keyup事件模仿表单提交,如下所示:

<input type="text" name="input" class="filter" id="searchinput" value="" />

<script>
   $(document).ready(function() {
       $(document).on('keyup', '.filter', function( event ) {
           $.post( 'yourapi.php', { input: $(this).val() }, function( data ) {
               //Refocus the <input />
               $('#searchinput').focus();
           });

       });
   });
</script>

答案 1 :(得分:0)

$(document).ready(function(){


$("input").keyup(function(event)
{
 var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode != '13')
{   
 var e = jQuery.Event("keyup");
 e.which = 13; // Enter
 $("input").trigger(e);

}
  else {alert("Enter triggered");
       }
});
});

DEMO JSFiddle

答案 2 :(得分:0)

因为你也可以在jquery中编码。然后你可以使用这段代码......

$(document).ready(function(){
        $(".filter").keyup(function(){
                var text_input_text = $(this).val();
                //here is your ajax post request
                 $.post('url for post', {filter_text: text_input_text}, function(response){
                       console.log(response);
                 });
        });
});

这里我们介绍了keyup事件和ajax帖子。 希望这会对你有所帮助。

相关问题