0

我的 HTML 中有几个下拉菜单,我正在使用 jQuery Selectbox 插件 (selectbox()) 进行自定义下拉菜单。

我还需要验证我正在使用 jQuery.validate js 的表单。

当我将selectbox()like$("#pd_subject").selectbox();应用于下拉列表时,jQuery.validate 根本不验证下拉列表,

小提琴案例1案例1

但是当我从下拉列表中删除 selectbox() 属性时,jQuery.validate 开始验证它们。

小提琴案例2案例2

第一种情况的障碍是什么?

4

1 回答 1

2

弄清楚了。

最新的 jQuery.validate.js(1.9.0 及更高版本)忽略隐藏字段,仅验证表单上的可见字段。

> ignore: ":hidden",

旧版本的 validate.js(1.8.1 及以下)有这一行:

> ignore: [],

其中包括表单上的每个字段,无论它是否可见。

selectbox() 插件只是隐藏下拉菜单并在支持设计和自定义的 HTML 中添加新的 div

<select id="qwerty" name="qwerty" sb="55594954" style="display: none;">...</select>
<div id="sbHolder_55594954" class="sbHolder">.....</div>

这就是下拉菜单不断逃避验证的原因。

在这里更新了旧 validate.js 的小提琴:http: //jsfiddle.net/UKDbq/2/

于 2014-04-10T11:54:44.310 回答