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>

想定される動作: ユーザーが food の入力を開始し、extender div から食品を選択すると、ポストバックが発生し、食品に基づいて追加のデータベース情報が表示されます。

4

3 に答える 3

0

削除すると

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

できます?

テキスト ボックスのテキストが変更された後 (ドロップダウン リストから値を選択)、イベント OnTextChanged がトリガーされます。

于 2013-07-26T06:48:00.340 に答える
0

AutoPostBack="true"PostBack を手動で削除して実行する必要があります。PostBack を実行する JavaScript 関数を追加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 に答える