我试图动态地启用/禁用从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