将事件附加到JQuery Validation&禁用字段

时间:2011-04-26 02:50:21

标签: jquery asp.net jquery-ui asp.net-mvc-3

我有一个手风琴JQuery UI控件,显示两组不同的字段。必须至少启用一个集合,如果需要,则需要为另一个集合禁用验证。动态实现这一点非常令人沮丧。

最后,我决定只是在崩溃的字段集上提交之前删除验证规则。 (因此用户无需填写该组)。然而,即便如此,我似乎无法弄清楚如何将事件附加到将在验证之前运行的表单的提交事件!我是在JQuery验证之前运行的这个函数。我正在使用MVC3。以下是我的一些代码:

<div id="accordion">
            <h3><a href="#">Option Set 1</a></h3>
            <div>
                 [Set of fields here]               
            </div>
            <h3><a href="#">OR Option Set 2</a></h3>
            <div>
                 [Set of fields here]  
            </div>
        </div>

3 个答案:

答案 0 :(得分:1)

当您切换div时,只需删除验证方法所需的类并禁用输入

答案 1 :(得分:1)

我根本不熟悉ASP.NET MVC,但我熟悉jQuery(以及validate插件),所以这里就是这样。

我认为您需要在呈现表单的某个部分时禁用包含<div>的所有字段。它可以像$("selector for div").find(":input").attr("disabled", true);一样简单(您可以使用false代替true将其重新打开)

这应该最有效,原因有两个。

  1. jQuery Validate Plugin将跳过任何已禁用的元素
  2. 发布表单时,不会将禁用的元素发送到服务器

答案 2 :(得分:0)