2016-11-24 44 views
0

在MVC .NET中,我有一个文本框允许搜索与一个类型为“按钮”的按钮相关联(我不能使其提交功能),当点击呼叫一种允许搜索的方法。允许在文本框中输入密钥上的按钮点击功能

当用户在文本框中输入搜索编号并在键盘上点击'Enter'键时,我想要调用搜索。

我没有任何在我@Html.BeginForm()

提交按钮以下是代码

@Html.TextBoxFor(m=>m.SearchNo,new {@class="form-control",@maxlength="12" }); 

<input type="button" id="btnSearch" value="Search" onclick="search();"/> 

我曾尝试使用以下尝试,但它不工作:

$("#SearchNo").keyup(function(event){ 
    if(event.keyCode == 13){ 
     $("#btnSearch").click(); 
    } 
}); 

请帮我与此

+0

尝试'$(“#SearchNo”)。按键(功能(e){..' –

+0

你必须使用keydown来捕获不可打印的键击 – Bindrid

回答

1

您正在试着用keyup,但是当用户释放键盘上的键时,键入事件会发送到元素。

您可以使用keypress,其中当浏览器注册键盘输入时,按键事件被发送到元素。

$("#SearchNo").keypress(function(event){ 
 
    if(event.keyCode == 13){ 
 
     alert('You pressed enter!'); 
 
    $("#btnSearch").click(); 
 
    } 
 
}); 
 
$("#btnSearch").click(function() { alert("click"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="SearchNo"> 
 

 
<input type="button" id="btnSearch" value="Search" />

更新:

在这种情况下,你可以调用你的函数search()这样:

$("#SearchNo").keypress(function(event) { 
 
    if (event.keyCode == 13) { 
 
    alert('You pressed enter!'); 
 
    Search(); 
 
    } 
 
}); 
 

 
function Search() { 
 
    // your ajax call here. 
 
    alert("hi"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text" id="SearchNo"> 
 
<input type="button" id="btnSearch" value="Search" onclick="Search();" />

+0

这是否工作正常? –

+0

您是否点击了“运行代码段”? –

+0

代码片段工作...我有这个搜索按钮点击ajax调用,所以即使是我不写$(“#btnSearch”)。click(function(){// code});特别?? –

相关问题