在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 :(得分:1)
您正在尝试使用keyup
,但当用户在键盘上释放键时,会将键盘事件发送到元素。
您可以使用keypress
,当浏览器注册键盘输入时,将按键事件发送到元素。
$("#SearchNo").keypress(function(event){
if(event.keyCode == 13){
alert('You pressed enter!');
$("#btnSearch").click();
}
});
$("#btnSearch").click(function() { alert("click"); });
&#13;
<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" />
&#13;
更新:
在这种情况下,您可以通过以下方式调用您的函数search()
:
$("#SearchNo").keypress(function(event) {
if (event.keyCode == 13) {
alert('You pressed enter!');
Search();
}
});
function Search() {
// your ajax call here.
alert("hi");
}
&#13;
<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();" />
&#13;