我正在为我的WordPress网站使用jQuery Validation Engine和prettyCheckboxes jQuery插件。
最初,JVE将compatiblebilty与样式<select>
(jQuery selectBox)的插件集成在一起,我一直在尝试使用<input type="checkbox">
替换插件,prettyCheckboxes。
您必须在插件初始化中添加prettySelect : true
作为选项,因此我在插件中添加了prettyCheckboxes : true
,您可以在下面的第164
行{修改后的插件中{1}},330
,495
和693
。
除此之外,您还必须执行一些ID / class jiggery以确保不会重复ID,并且不会在不应该添加的地方添加类。我还必须将“checked”属性添加到隐藏的1944
中,以便JVE插件选择它已更改。
它只能在我可以显示错误消息的地方工作,但这是错误的。基本上当你点击一个复选框时,它会注册要显示的信息,当你取消选中时,信息会消失;反之亦然。但是,如果您在第一次点击时未点击其他复选框,则除非您按照最初点击的顺序执行,否则它根本不起作用。这真的很奇怪。
所以我的问题是,如何才能让PrettyCheckbox正确使用JVE ?显然我已经错误地修改了它,但我不知道在哪里或如何让它按预期工作。
修改了jQuery验证引擎,prettyCheckboxes,自定义HTML和脚本:https://gist.github.com/0349d8c92039fc8c6009
(抱歉,我不能发布超过两个超链接!)
答案 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);
}
});
});
我删除了它,复选框正在激活验证。