如何将jQuery验证插件与jQuery selecter插件结合起来?

时间:2015-11-18 14:35:16

标签: jquery jquery-validate selectlist jquery-selecter-plugin

我正在开发一个旧项目,包含大量jQuery和一些jQuery插件。其中一个插件是jQuery Validation Plugin,它根据提供的自定义规则验证输入。另一个是jQuery Selecter plugin,用一个模仿select标签行为的漂亮风格的div替换了普通的无聊select标签。

我现在遇到的问题是jQuery Selecter插件隐藏了普通select标记,而是用户与.selecter div交互,然后将所选值传递给{{1以某种方式标记。另一方面,jQuery Validation Plugin仅在用户直接与此元素交互(点击它)时才尝试验证select元素。更改select标记的值不会触发jQuery Validation Plugin。这意味着当用户点击select元素并且jQuery Selecter插件更改.selecter的值时,jQuery Validation Plugin不会尝试检查select元素的值并仍然认为这个元素无效。

所以我的问题是,有没有人有任何使用这两个插件的经验,并且当selecter插件更改select元素的值时使验证插件工作?

1 个答案:

答案 0 :(得分:1)

用户没有与原始select元素交互,因为它是隐藏的,因此没有触发插件的内置验证事件。

无法看到您的JavaScript或标记,因此这个答案完全是通用的。但是,您可以编写一个change处理程序,在select发生更改时触发,并以编程方式强制对其进行验证。

$('#yourSelect').on('change', function() {
    $(this).valid(); // force validation
});

$('#yourSelect')是一个jQuery选择器,它定位原始隐藏的select元素。