使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?
Posted
技术标签:
【中文标题】使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?【英文标题】:Enable/disable asp.net validator controls within a specific "ValidationGroup" with jQuery? 【发布时间】:2011-01-10 14:41:13 【问题描述】:我知道如何使用
在客户端启用/禁用单个验证器控件ValidatorEnable(validator, false);
但是如何启用/禁用ValidationGroup 中的所有验证器?
【问题讨论】:
【参考方案1】:不幸的是,验证器属性没有呈现为属性,所以我不知道直接选择它们的好方法。您可以尝试迭代 Page_Validators 数组并过滤掉您想要使用的数组。
试试:
$.each(Page_Validators, function (index, validator)
if (validator.validationGroup == "your group here")
ValidatorEnable(validator, false);
);
【讨论】:
???我很震惊!首先:这行得通,谢谢。但我的问题是:为什么可以使用 Page_Validators,而不必使用 $("#Page_Validators") ? (这不起作用:-)) 你真的应该对@Imram 给出真正的答案 @Fernando68 他在 2 年后 后回答了这个问题。【参考方案2】:查看 this 博客文章,了解如何使用 javascript。主要部分代码来自博客:
<script type="text/javascript">
function HasPageValidators()
var hasValidators = false;
try
if (Page_Validators.length > 0)
hasValidators = true;
catch (error)
return hasValidators;
function ValidationGroupEnable(validationGroupName, isEnable)
if (HasPageValidators())
for(i=0; i < Page_Validators.length; i++)
if (Page_Validators[i].validationGroup == validationGroupName)
ValidatorEnable(Page_Validators[i], isEnable);
</script>
【讨论】:
【参考方案3】:或者,您可以简单地将 ValidationGroup 属性定义为每个验证器。
那么你将不需要任何 Jquery 或 javascript 的东西来关闭它们。
这是对我有用的链接。
http://www.w3schools.com/aspnet/showasp.asp?filename=demo_prop_webcontrol_imagebutton_validationgroup
【讨论】:
你是个传奇!是的,很简单。我尝试从代码隐藏中捕获 UpdatePanel,以便关闭另一个面板上的验证器并从代码隐藏中放置触发器,以便更新面板单独处理其验证器!啊,你为我节省了几个小时 谢谢,但链接现在返回 404以上是关于使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI Datepicker 仅启用数组中的特定日期