我試圖動態地啓用/禁用從Ajax控件工具包基礎上選擇一個用戶在一個下拉列表中選擇自動完成擴展控制。動態關閉Ajax控件工具包自動完成擴展
我的ASP.NET 4.0 Web表單應用程序有一個下拉列表,取決於哪個國家是從它選中,郵編autoextender應啓用或禁用。
我的標記:
<asp:DropDownList runat="server" ID="ddlCountries">
<Items>
<asp:ListItem Text="Switzerland" Value="CH" />
<asp:ListItem Text="Germany" Value="D" />
<asp:ListItem Text="Italy" Value="I" />
<asp:ListItem Text="France" Value="F" />
</Items>
</asp:DropDownList>
<br />
<asp:TextBox runat="server" ID="tbxZipcode" />
<asp:AutoCompleteExtender
runat="server" ID="acZipcode" BehaviorID="ZipcodeBehavior"
ServiceMethod="GetZipCode"
TargetControlID="tbxZipCode" MinimumPrefixLength="1" CompletionInterval="15"
OnClientItemSelected="PopulateTextboxes" CompletionSetCount="25" />
採用這種設置,在自動完成擴展踢,並顯示有效的瑞士拉鍊碼 - 生活是美好的:-)
無論其:如果用戶選擇了另一個國家,我想停止這個自動完成擴展器 - 我沒有其他的拉鍊碼在我的數據庫顯示,併爲法國瑞士顯示郵編是沒有意義的。
所以,我想是這樣的搶在下拉列表
$(document).ready(function() {
$('#<%= ddlCountries.ClientID %>').change(function() {
var chosenCountry = $(this).val();
var behavior = $('#ZipcodeBehavior');
if (chosenCountry == "CH") {
behavior.disabled = '';
} else {
behavior.disabled = 'disabled';
}
});
});
的change
事件,我可以得到ZipcodeBehavior
就好了 - 但一旦我有它 - 似乎沒有任何工作了......
如何動態地禁用Ajax控件工具包的AutocompleteExtender?
在標記,靜態的,我把它用
<asp:AutoCompleteExtender Enabled="False" .... />
,然後什麼都沒有獲取呈現在我的網頁做。
+1的Javascript確實接壤黑魔法和巫術.... :-)我**不知道**究竟你在這裏做 - 但它就像一個魅力!謝謝! – 2013-02-13 12:12:33