您好我在ASP.Net中使用jQuery AutoComplete插件,如下文所述,因此当用户输入.Net文本框时,他们会获得一个选项列表。这工作正常,但我现在需要做的是在用户完成输入或选择一个值时调用服务器端函数,而不是用户必须通过按下按钮来提交值。
有关最佳方法的任何建议吗?
感谢您的帮助!
http://www.aspsnippets.com/Articles/Using-jQuery-AutoComplete-Plugin-in-ASP.Net.aspx
答案 0 :(得分:1)
取决于您需要执行哪种服务器端操作。如果您只是想提交表单,那就是响应jQuery.autocomplete的result
事件的jQuery单行:
$('input#suggest').result(function(event, data, formatted) {
$("#myform").submit();
});
如果要对特定方法执行异步调用,应该在jQuery中查看$.ajax。在服务器端,您有很多可能性 - 您可以将您的功能设置为通用HTTP处理程序,JSON Web服务或ASP.NET页面方法,所有这些都可以使用AJAX调用。
如果您可以提供您需要实现的更多信息(作为对我的回答的评论),我可以提供更多详细信息。
修改:使用评论中提供的详细信息,我相信您可以使用控件的ClientID
,如下所示:
var selector = '#<%= searchTB.ClientID %>';
$(selector).result(function(event, data, formatted) {
CustomSubmit();
});
在这种情况下,javascript需要在.aspx文档中加入内容,即不能在外部.js文件中。
答案 1 :(得分:0)
(文档)$。就绪(()的函数 { $( “#&LT;%= searchTB.ClientID%&gt;” 中)。自动完成( 'Search_VB.ashx');
var selector = '#<%=searchTB.ClientID%>';
$(selector).result(function(event, data, formatted) {
CustomSubmit();
});
});
对于任何想要将其添加到最初声明的文章中的代码的人来说,上面是如何完成的(并且称为Javascript函数CustomSubmit())