我已經把條件放在我的jquery ajax()調用之前,它不再觸發。我基本上只想讓ajax()在有人命中時觸發輸入文本框。jquery .ajax()沒有觸發條件
沒有$("[id$=txtSearch]").bind
條件,ajax()調用正常工作。
我在做什麼錯?還有另外一種方法可以解決這個問題嗎?
$("[id$=txtSearch]").keyup(function (e) {
if (e.keyCode == 13) {
$(this).trigger("enterKey");
}
});
$("[id$=txtSearch]").bind("enterKey", function (e) {
var query = $("[id$=txtSearch]").val();
alert(query); // This works
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Viewer.aspx/GetSearchResults",
dataType: "json",
data: JSON.stringify({ docID: docid, query: query,
pageNumber: 1, resultsPerPage: 10 }),
success: function (response) {
alert(response.d.TotalResults);
},
error: function (xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
alert("responseText=" + xhr.responseText +
"\n textStatus=" + status + "\n
errorThrown=" + error);
}
});
});
我的文本框:
<asp:TextBox ID="txtSearch" runat="server" TextMode="Search"
AutoCompleteType="Search" placeholder="Search for text in the document..."
AutoPostBack="true" ToolTip="Search for text in the document..." >
</asp:TextBox>
取代您的JS,你可以分享input元素HTML –
更新問題 – Tums
嘗試嘗試'keydown',而不是'keyup'。 – Jai