ASP.net フォームに、検索を実行するためのテキスト ボックスとボタンがあります。ユーザーが入力している間に提案を表示するために、AJAX ツールキットから autocompleteextender を追加しました。これは問題なく動作しますが、表示された候補リストでユーザーが項目を選択したときに、ボタンの Click イベントが発生するようにしたいのです。誰でもこれを行う方法を知っていますか?
7199 次
3 に答える
6
item selected イベントはクライアント側の JavaScript イベントを発生させるため、通常、次のコードを OnClientItemSelected イベント メソッドに追加します。
<script type="text/javascript" language="javascript">
function YourMethodHere(source, eventArgs)
{
$get('ctl00_BodyPlaceHolder_btnAutoSubmit').click();
}
</script>
それに応じてボタンの適切な名前を見つけて、上記に置き換える必要があります。
追加機能として、オートコンプリートに値を入力して、必要なものがわかっている場合はすぐに Enter キーを押したい場合があります。これを実現するには、AutoComplete のテキスト ボックスとボタンをパネルでラップし、それに応じてデフォルトのボタンを設定します。
<asp:Panel ID="pnlAutoCompleteStuff" runat="server" DefaultButton="btnAutoSubmit">
Search: <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="aceSearch" runat="server"
TargetControlID="txtSearch"
ServiceMethod="YourMethodHere"
ServicePath="YourServicePath"
MinimumPrefixLength="4"
CompletionInterval="500"
EnableCaching="False"
OnClientItemSelected="AutoCompleteClientMethod"
CompletionSetCount="3">
</cc1:AutoCompleteExtender>
<asp:Button ID="btnAutoSubmit" runat="server" Text="Select" />
</asp:Panel
于 2011-03-10T22:25:08.127 に答える
1
テキストボックスの Autopostback を true に設定します。
<asp:TextBox ID="SearchCityBox" CssClass="searchOne" runat="server" Width="500px" Height="18px" AutoPostBack="true" OnTextChanged="SearchCityBox_TextChanged"></asp:TextBox>
次に、ボタンと同じことを行う onTextChanged イベント ハンドラーを作成します。または、ボタンが持っているのと同じイベント ハンドラーを指すようにすることもできます。
于 2012-06-11T05:52:22.383 に答える
0
Have a look at onclientitemselected
There is some info here: Implementing Auto-Suggest Using AutoCompleteExtender Control
于 2011-03-10T22:08:18.653 に答える