2014-03-25 91 views
2

我有一個帶有ajax jquery自動完成功能的文本框,但textchange事件沒有被觸發。爲什麼自動完成文本框textchange事件不會觸發?

<asp:TextBox ID="txtNumber" runat="server" width="98%" OnTextChanged="txtNumber_TextChanged" AutoPostBack="true" ></asp:TextBox> 

自動完成功能:

function QuoteNumber(sender, args) { 
     $(function() { 
      $("#<%=txtNumber.ClientID %>").autocomplete({ 
       source: function (request, response) { 
        $.ajax({ 
         url: '<%=ResolveUrl("~/Webservice.asmx/GetNumberForAutocomplete") %>', 
         data: "{ 'prefix': '" + request.term + "'}", 
         dataType: "json", 
         type: "POST", 
         async: false, 
         mustMatch: true, 
         contentType: "application/json; charset=utf-8", 
         success: function (data) { 
          response($.map(data.d, function (item) { 
           return { 
            label: item.split('^')[0], 
            val: item.split('^')[1] 
           } 
          })) 
         }, 
         error: function (response) { 

         }, 
         failure: function (response) { 

         } 
        }); 
       }, 
       select: function (e, i) { 
        $("#<%=hdnNumber.ClientID %>").val(i.item.val); 
        if (i.item.val == "No Records Found") { 
         $("#<%=hdnNumber.ClientID %>").val(-1); 
         document.getElementById('<%=txtNumber.ClientID%>').value = ""; 
         return false; 
        } 

       }, 
       minLength: 0 
      }).bind('focus', function() { $(this).autocomplete("search"); }); 
     }); 
    } 
+0

顯示爲此文本框配置的自動完成代碼。您可能會添加'返回false' –

+0

TextBox丟失焦點後應該觸發'TextChanged' –

+0

查看我的更新後的問題@MuraliMurugesan – sona

回答

1
​​

+0

請問您可以添加您的解釋是什麼導致問題? –

+0

我不知道爲什麼textchange事件沒有解僱的問題。當我評論自動填充功能時,它被解僱了。@ MuraliMurugesan – sona

1

添加到select回調此行的末尾:__doPostBack('<%= txtNumber.UniqueID %>', '');

+0

它會觸發textchange事件@Yuriy Rozhovetskiy – sona

+0

它不工作@ Yuriy Rozhovetskiy – sona

0

除了上述的答案,我們需要下面的代碼snippest在選擇:

select: function (e, i) { 
     $("#<%=hfCustomerId.ClientID %>").val(i.item.val); 
     $("#<%=hfCustomerName.ClientID %>").val(i.item.value); 
     $("[id*=btnSubmit]").click(); 
     $("#<%=txtNumber.ClientID %>").val(i.item.value); 
     __doPostBack('<%= txtNumber.UniqueID %>', ''); 
    }, 
相關問題