2011-11-21 37 views
1

有问题的代码:http://jsfiddle.net/3wfYs/1/jQuery验证和客户端事件

我在这里有一些麻烦(验证)。当选择一个服务用户(下表)时,第一个表中的第一个复选框(复选框的长列表)也应该被检查。并且checkboxlist具有验证规则,表明至少要检查一个。但是,当通过serviceuser复选框上的“click”事件选择复选框时,表单不会重新验证。我怎样才能做到这一点?而且,我觉得我正在以艰难的方式这样做,还有更好的方式来做这一切?

找到解决方案:操纵表单后,我不得不重新验证表单(这正是我正在寻找的),这是通过运行.valid()完成的。所以,我最后做的:

$("#PasswordForm").valid(); 

回答

0

问题是因为“PC-pålogging”复选框您自动检查,也将被禁用。因此,它将从任何验证检查中删除,因为禁用的元素不会在POST请求中传递。

如果您从服务用户单击处理程序中删除.attr("disabled", "disabled")行,它应该可以工作,但如果取消选择“PC-pålogging”,则可能需要编写更多的逻辑来解除用户服务复选框。

+0

这与验证脚本无关,因为复选框仍被标记为“错误”。我希望验证更新,而用户不必再次按提交来重新验证。另外,如果您从javascript中删除“禁用”的部分,然后单击“pc-pålogging”(当它由serviceuser检查时),它会删除选中的标记并删除错误(与应该执行的操作相反) – tskulbru