我的HTML中有几个下拉列表,我正在使用jQuery Selectbox插件(selectbox())进行自定义下拉。
此外,我还需要验证表单,为此我使用了jQuery.validate js。
当我将像selectbox()一样的$("#pd_subject").selectbox();应用于下拉列表时,jQuery.validate根本不验证下拉列表,
Fiddle案例1:Case1
但是,当我从下拉列表中删除selectbox()属性时,jQuery.validate将开始验证它们。
Fiddle案例2:Case2
第一种情况下的障碍是什么?
发布于 2014-04-10 11:54:44
弄明白了。
最新的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/
https://stackoverflow.com/questions/22986344
复制相似问题