0

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

最初,JVE 将兼容性与样式<select>'s (jQuery selectBox) 的插件集成在一起,我一直在尝试使用<input type="checkbox">替换插件 prettyCheckboxes 来做同样的事情。

您必须prettySelect : true在插件初始化中添加一个选项,所以我prettyCheckboxes : true在插件中添加了一个,您可以在下面的要点中看到行、、、164330修改4956931944插件。

除此之外,您还必须做一些 ID/class jiggery 以确保 ID 不会重复,并且不会在不应添加的地方添加类。我还必须将“checked”属性添加到 hidden 中<input type="checkbox">,以便 JVE 插件发现它已更改。

它只能在我可以显示错误消息的情况下起作用,但这是错误的。基本上,当您单击复选框时,它会注册要显示的消息,而当您取消选中该消息时,它会消失;反之亦然。但是,当您在取消单击第一次单击后单击其他复选框时,它根本不起作用,除非您按照最初单击的顺序进行操作。这真的很奇怪。

所以我的问题是,我怎样才能让 prettyCheckboxes 正确地与 JVE 一起工作?显然我已经错误地修改了它,但我只是不确定在哪里或如何让它按预期工作。

修改后的 jQuery 验证引擎、prettyCheckboxes、自定义 HTML 和脚本:https
://gist.github.com/0349d8c92039fc8c6009 (对不起,我不能发布两个以上的超链接!)

4

1 回答 1

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);
        }
    });
});

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

于 2012-10-17T02:52:07.630 回答