选择时jQuery自动完成触发器返回
Posted
技术标签:
【中文标题】选择时jQuery自动完成触发器返回【英文标题】:jQuery autocomplete trigger return on select 【发布时间】:2016-09-08 08:26:27 【问题描述】:我搜索了很多地方,但我对 jquery 的理解不足以成功使用我找到的答案。
我需要双表返回来触发我的文本框 ontextchanged 事件,以便我的网格视图正在更新。
我的自动完成脚本运行正常,如下所示:
<script type="text/javascript" lang="ja">
$(function ()
$('#tbCompany').autocomplete(
source: function (request, response)
$.ajax(
url: "Autocomplete.asmx/GetCompanyNames",
data: " 'searchTerm': '" + request.term + "' ",
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result)
response(result.d);
,
error: function (result)
alert('There is a problem processing your request');
);
,
minLength: 0
);
);
</script>
<asp:TextBox runat="server" ID="tbCompany" placeholder="Bitte Ausfüllen" ClientIDMode="static" OnTextChanged="tbCompany_TextChanged" Width="400px" Visible="false" TabIndex="1" />
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:GridView ID="gvVerzeichniss" runat="server" AutoGenerateColumns="false" OnRowCommand="gvVerzeichniss_RowCommand" CssClass="mGrid" AlternatingRowStyle-CssClass="alt" PagerStyle-CssClass="pgr" GridLines="None" ShowHeader="false" style="width: 1300px !important;">
<Columns>
<asp:ButtonField ButtonType="Link" Text="view" CommandName="view" HeaderText="Show" Visible="true" ControlStyle-Width="40px" ControlStyle-ForeColor="#428bca"/>
<asp:CheckBoxField HeaderText="Active" ReadOnly="false" DataField="Active" ControlStyle-Width="10px" />
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tbCompany"/>
</Triggers>
</asp:UpdatePanel>
它应该在选择一个项目时触发文本框的 ontextchanged 事件,但我不知道该怎么写。
【问题讨论】:
也分享你的html代码。 忘记了,编辑了。 【参考方案1】:基本上,您在自动完成中发送 ajax 调用,而在从服务接收到数据后自动完成绑定。
您的result.d
必须有json
数据。
如果我理解正确,您正在寻找这样的东西
<script type="text/javascript" lang="ja">
$(function ()
$.ajax(
url: "Autocomplete.asmx/GetCompanyNames",
data: " 'searchTerm': '" + request.term + "' ",
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result)
$('#'+'<%= tbCompany.ClientID %>').autocomplete(
source: result.d,
minLength: 0
);
,
error: function (result)
alert('There is a problem processing your request');
);
);
</script>
【讨论】:
result.d 后缺少 ',' 我已经更新了我的答案,请看。如果您使用的是经典的 asp.net,那么您需要选择像$('#'+'<%= tbCompany.ClientID %>')
这样的元素。哪个括号?
啊,是的,我忘记了。添加。 :)
我添加了我的 gridview 代码,应该更新它在点 stll 不工作需要按回车
在更新面板<asp:AsyncPostBackTrigger ControlID="tbCompany" EventName="TextChanged"/>
更改此行以上是关于选择时jQuery自动完成触发器返回的主要内容,如果未能解决你的问题,请参考以下文章