我使用jquery和javascript從客戶端設置上下文鍵時遇到問題。無法找到ASP.Net的AutoCompleteExtender函數set_contextKey。Asp.Net自動完成set_contextKey「對象不支持此屬性或方法」
這裏是我的文本框和AutoCompleteExtender HTML ...
<asp:TextBox ID="txtProduct" runat="server" AutoPostBack="true" OnTextChanged="txtProduct_TextChanged" Width="181px" /><ajaxToolkit:AutoCompleteExtender
ID="AutoCompleteExtender_txtProduct" BehaviorID="acExt" runat="server" TargetControlID="txtProduct"
CompletionListCssClass="autocomplete_completionListElement" CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" MinimumPrefixLength="2"
CompletionInterval="1000" ServicePath="~/WS/Service.svc" ServiceMethod="GetProductsByName"
EnableCaching="true" DelimiterCharacters=";" UseContextKey="true" OnClientItemSelected="txtProduct_ClientItemSelected">
</ajaxToolkit:AutoCompleteExtender>
,並在下拉列表的變化jQuery是:
function ddlStore_onchange() {
$('#acExt').set_contextKey($('#<%= ddlStore.ClientID %>').val());
}
它是set_contextKey功能引發錯誤。任何人都可以解釋我做錯了什麼......
'$ find'是AJAX的,它返回的是整個組件,而不是一個簡單的'Javascript'或'jquery'對象,這就是爲什麼它能夠使用'$ find'找到'set_contextKey'方法。 – 2011-04-07 19:48:15
這裏的問題是#字符,在jquery中用於引用對象的id。當您使用$ find時,您不需要#characer,因爲它不是jquery,只是在您的自動完成控件中使用或定義的BehaviorID。 – Juan 2015-04-22 01:46:41