chosen-select元素执行了chosen()方法后,为select元素加上了style="display: none;"进行隐藏,然后重新构造了一个看起来像select的下拉列表。
而jQuery Validate默认忽略对隐藏元素进行校验,因此我们要把select排除。在validate()方法的参数中增加ignore属性,将select从忽略的隐藏元素中剔除。
$("select").validate({ignore: ":hidden:not(select)"});
:hidden 选择器选取隐藏的元素。 以下几种情况的元素是隐藏元素: 设置为 display:none 带有 type=”hidden” 的表单元素 width 和 height 设置为 0 隐藏的父元素(这也会隐藏子元素) 注释:该选择器对 visibility:hidden 和 opacity: 0 的元素不起作用。