2016-11-24 61 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});特別?? –

相關問題