1
我正在使用jQuery(我是jQuery的新手:))发出一些AJAX后台请求的ASP.NET应用程序。 我的jQuery的代码如下:
$(document).ready(function() {
$("#ctl00_cphContent_txtOrgName").keypress(function() {
var orgNameLen = $("#ctl00_cphContent_txtOrgName").val().length;
if (orgNameLen <= 4) {
$("#orgNameHints").empty();
$("#orgNameHints").css('display', 'none');
return;
}
$("#orgNameHints").css({ "visibility": "visible" });
$("#orgNameHints").html("Checking...");
var OrgName = $(this).val();
$.get("ProcessOrgName.aspx?n=" + OrgName, function (data) {
$("#orgNameHints").html(data);
$("#orgNameHints").show();
});
});
$("#ctl00_cphContent_txtOrgName").blur(function() {
$("#orgNameHints").empty();
$("#orgNameHints").css({ "visibility": "hidden" });
});
});
和ASP代码:
<asp:TextBox ID="txtOrgName" runat="server" MaxLength="100"></asp:TextBox>
<div id="orgNameHints" style="border: 1px solid silver; display:none; position:absolute; padding: 5px; background: #EFEFEF; z-index: 100;"></div>
这里txtOrgName
是用于与背景(就像的提示相同的数据,以检查现有记录的文本框在谷歌搜索关键字)。 .get()方法将在ProcessOrgName.aspx
处将搜索关键字作为查询字符串发布,该查询返回数据库中此类现有记录的列表。
Everyting工作正常,在这里,但我现在面临的问题是:
- 按键时()事件调用搜索一样,如果我寻找 计算器将查询stackoverflo其中w ^缺少。那么,有没有办法获得准确的结果。
- 当我搜索关键字时,它显示正常,但是当我按退格键 来清除我的文本框时,它仍然会显示相同的结果,直到文本框已清除后我再按下退格键两次。所以, 可以请你给我任何想法,使它不会 显示结果,以防我按下退格键。
- 以show()方式显示和隐藏名为
orgNameHints
的div的任何其他方式;和hide();在我的情况下不起作用,我希望它更准确! - 当用户复制粘贴关键字而不是输入时,会出现一些情况,所以在这种情况下也应该获得搜索结果。
任何帮助真的很感激。
将一个实际的方法直接绑定到按键事件并不是一个好的方法,我建议你在这里阅读我的问题的答案 - http:// stackoverflow。com/questions/8627175 /更好的方式来写这在jQuery –
谢谢@Atif,但这只是一个改善搜索的建议,但实际上并没有解决问题。我会在那里提出修正案。请帮我解决实际问题。 – Cyberpks