如何让jQuery Validation Engine和prettyCheckbox一起工作?

时间:2012-10-15 06:26:09

标签: jquery jquery-plugins checkbox drop-down-menu jquery-validation-engine

我正在为我的WordPress网站使用jQuery Validation Engine和prettyCheckboxes jQuery插件。

最初,JVE将compatiblebilty与样式<select>(jQuery selectBox)的插件集成在一起,我一直在尝试使用<input type="checkbox">替换插件,prettyCheckboxes。

您必须在插件初始化中添加prettySelect : true作为选项,因此我在插件中添加了prettyCheckboxes : true,您可以在下面的第164行{修改后的插件中{1}},330495693

除此之外,您还必须执行一些ID / class jiggery以确保不会重复ID,并且不会在不应该添加的地方添加类。我还必须将“checked”属性添加到隐藏的1944中,以便JVE插件选择它已更改。

它只能在我可以显示错误消息的地方工作,但这是错误的。基本上当你点击一个复选框时,它会注册要显示的信息,当你取消选中时,信息会消失;反之亦然。但是,如果您在第一次点击时未点击其他复选框,则除非您按照最初点击的顺序执行,否则它根本不起作用。这真的很奇怪。

所以我的问题是,如何才能让PrettyCheckbox正确使用JVE ?显然我已经错误地修改了它,但我不知道在哪里或如何让它按预期工作。

修改了jQuery验证引擎,prettyCheckboxes,自定义HTML和脚本:https://gist.github.com/0349d8c92039fc8c6009
(抱歉,我不能发布超过两个超链接!)

1 个答案:

答案 0 :(得分:0)

由于某些原因,我的一些代码干扰了插件:

$('.custom-tick').click(function() {
    $(this).each(function() {
        if ($(this).hasClass('checked')) {
            $(this).siblings('input[type="checkbox"]')
                .attr('checked', true);
        } else {
            $(this).siblings('input[type="checkbox"]')
                .attr('checked', false);
        }
    });
});

我删除了它,复选框正在激活验证。