【问题标题】:How to get jQuery Validation Engine and prettyCheckboxes working together?如何让 jQuery 验证引擎和 prettyCheckboxes 一起工作?
【发布时间】:2012-10-15 06:26:09
【问题描述】:

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

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

您必须在插件初始化中添加prettySelect : true 作为选项,所以我在插件中添加了prettyCheckboxes : true,您可以在下面的要点中看到164330495 , 6931944 在修改后的插件中。

除此之外,您还必须对 ID/类进行一些调整,以确保不会重复 ID,并且不会将类添加到不应添加的位置。我还必须将“checked”属性添加到隐藏的<input type="checkbox">,这样 JVE 插件就会发现它已更改。

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    $('.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);
            }
        });
    });
    

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

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      相关资源
      最近更新 更多