【问题标题】:jQuery autocomplete trigger return on select选择时jQuery自动完成触发器返回
【发布时间】: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代码。
  • 忘记了,编辑了。

标签: javascript jquery asp.net autocomplete


【解决方案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,那么您需要选择像 $('#'+'&lt;%= tbCompany.ClientID %&gt;') 这样的元素。哪个括号?
  • 啊,是的,我忘记了。添加。 :)
  • 我添加了我的 gridview 代码,应该更新它在点 stll 不工作需要按回车
  • 在更新面板&lt;asp:AsyncPostBackTrigger ControlID="tbCompany" EventName="TextChanged"/&gt;更改此行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多