0

仅在 IE 上,当用户滚动自动完成结果时会触发文本框回发。我在 Chrome 或 FF 中没有问题。

<asp:TextBox ID="txtBreakfast" ClientIDMode="Static" CssClass="headerinput" AutoPostBack="true" runat="server" OnTextChanged="txtBreakfast_TextChanged"></asp:TextBox> 

<ajaxToolkit:AutoCompleteExtender ID="txtBreakfast_AutoCompleteExtender" runat="server" UseContextKey="true" ContextKey="" Enabled="True" ServicePath="/service/service1.asmx" ServiceMethod="GetFoodNames" MinimumPrefixLength="1" CompletionSetCount="10" TargetControlID="txtBreakfast" CompletionInterval="500"  CompletionListCssClass="autocomplete_completionListElement" CompletionListItemCssClass="autocomplete_listItem" CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" DelimiterCharacters=";,:" ShowOnlyCurrentWordInCompletionListItem="true">
</ajaxToolkit:AutoCompleteExtender>

它应该如何工作:用户开始输入食物,然后从扩展器 div 中选择食物,然后发生回发,并导致根据食物显示额外的数据库信息。

4

3 回答 3

0

如果你删除

AutoPostBack="true" runat="server" OnTextChanged="txtBreakfast_TextChanged"

有用?

文本框文本更改后(您从下拉列表中选择一个值)触发事件 OnTextChanged..

于 2013-07-26T06:48:00.340 回答
0

您需要AutoPostBack="true"手动删除并执行 PostBack。添加一个 JavaScript 函数来执行 PostBack,并添加OnClientItemSelected到 AutoCompleteExtender 以使用它。

function BreakfastChanged() {
    __doPostBack("txtBreakfast", "");
}

<asp:TextBox 
    ID="txtBreakfast" 
    ClientIDMode="Static" 
    CssClass="headerinput" 
    runat="server" 
    OnTextChanged="txtBreakfast_TextChanged">
</asp:TextBox> 

<ajaxToolkit:AutoCompleteExtender 
    ID="txtBreakfast_AutoCompleteExtender" 
    runat="server" 
    UseContextKey="true" 
    ContextKey="" 
    Enabled="True" 
    ServicePath="/service/service1.asmx" 
    ServiceMethod="GetFoodNames" 
    MinimumPrefixLength="1" 
    CompletionSetCount="10" 
    TargetControlID="txtBreakfast" 
    CompletionInterval="500"  
    CompletionListCssClass="autocomplete_completionListElement" 
    CompletionListItemCssClass="autocomplete_listItem" 
    CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" 
    DelimiterCharacters=";,:" 
    ShowOnlyCurrentWordInCompletionListItem="true"
    OnClientItemSelected="BreakfastChanged">
</ajaxToolkit:AutoCompleteExtender>
于 2019-09-19T15:16:52.550 回答
-1

我刚刚使用了 jquery ui,我没有找到在自动完成上进行回发的解决方案,它在 IE 中不起作用。

我在网上查了一下,这就是结论

于 2013-07-26T20:12:37.880 回答