Val*_*sel 13 jquery element highlighting jquery-validate
我正在使用jQuery Validation插件,我编写了以下代码,如果无效,则在元素的(<input>)parent(<label>)中添加一个类,并在之前插入实际的error元素(<span>)<br>.
HTML ...
<label>
text<br><input>
</label>
Run Code Online (Sandbox Code Playgroud)
...和jQuery.
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
element.parent().addClass('error');
error.insertBefore(element.parent().children("br"));
}
});
Run Code Online (Sandbox Code Playgroud)
因此,如果表单元素未验证,则变为:
<label class="error">
text<span>error text</span><br><input>
</label>
Run Code Online (Sandbox Code Playgroud)
这很好,但是,如果字段的内容被更正并变得有效,则该类显然不会从其父节点中删除(实际上,错误元素也没有,而只是获取display: none;CSS属性).如何检查元素是否有效并删除其父类(如果是)?
任何帮助将不胜感激 !
编辑:添加了更多信息.
Val*_*sel 29
经过一些更沉重的挖掘后,我发现答案就在我的鼻子底下,但不幸的是对我来说,隐藏得很好.该插件具有内置突出显示功能(惊喜,惊喜).通常它会突出显示/取消突出显示该元素,但它可以很容易地转换为在元素的父元素上工作:
$("#form_to_validate").validate({
rules: {
...
},
errorElement: "span",
errorPlacement: function(error, element) {
error.insertBefore(element.parent().children("br"));
},
highlight: function(element) {
$(element).parent().addClass("error");
},
unhighlight: function(element) {
$(element).parent().removeClass("error");
}
});
Run Code Online (Sandbox Code Playgroud)
我希望这会对某人有所帮助!
| 归档时间: |
|
| 查看次数: |
20329 次 |
| 最近记录: |