Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery验证错误类影响Select元素_Javascript_Jquery_Css_Jquery Validate - Fatal编程技术网

Javascript jQuery验证错误类影响Select元素

Javascript jQuery验证错误类影响Select元素,javascript,jquery,css,jquery-validate,Javascript,Jquery,Css,Jquery Validate,按下submit按钮后,表单元素出现验证错误时,errorClass似乎应用于我不想要的元素错误类应仅应用于错误消息 问题:我们如何避免这个问题 jsFiddle: 更新 jsfiddle: 如果查看更新的代码,当错误发生时,类警报不会应用于错误元素,直到您单击错误元素。。。这种奇怪的行为在Chrome和Firefox中都可以看到 不知何故,$(element).simbines('label.error').addClass('alert')最初没有添加警报类…您可以使用高亮显示和取消高亮

按下submit按钮后,
表单元素出现验证错误时,
errorClass
似乎应用于我不想要的
元素<代码>错误类应仅应用于错误消息

问题:我们如何避免这个问题

jsFiddle


更新 jsfiddle

如果查看更新的代码,当错误发生时,类
警报
不会应用于错误元素,直到您单击错误元素。。。这种奇怪的行为在Chrome和Firefox中都可以看到


不知何故,
$(element).simbines('label.error').addClass('alert')
最初没有添加
警报
类…

您可以使用
高亮显示
取消高亮显示
回调函数将任何类应用于任何元素。以下是默认函数。通过将它们作为选项包含在
.validate()
中,您可以使用您想要的任何代码超越这些默认值

    highlight: function( element, errorClass, validClass ) {
        if ( element.type === "radio" ) {
            this.findByName(element.name).addClass(errorClass).removeClass(validClass);
        } else {
            $(element).addClass(errorClass).removeClass(validClass);
        }
    },
    unhighlight: function( element, errorClass, validClass ) {
        if ( element.type === "radio" ) {
            this.findByName(element.name).removeClass(errorClass).addClass(validClass);
        } else {
            $(element).removeClass(errorClass).addClass(validClass);
        }
    }
编辑

关于OP的修正问题

“不知何故,
$(element)。同级('label.error')。addClass('alert');
最初没有添加alert类…”

这是因为您正在尝试选择
label.error
,但它还不存在。您必须有一个
标签。错误
,然后才能选择它并应用
。警报
。。。这两件事不可能同时发生

解决方法可能包括将插件的默认
errorClass
更改为
.alert
,然后使用
高亮显示
取消高亮显示
将需要应用于
选择
元素的任何其他类应用于该元素


请参阅:

您想要什么?另外,提琴不起作用。请在OP中包含代码,这样这个问题就不会依赖于外部链接的健康状况。谢谢。@tymeJV errorClass应该只应用于错误消息,而不是这个插件的设计方式。指定的或默认的错误类应用于有错误的元素。@Sparky噢正确的方法应该是
高亮显示
方法?谢谢!如果您在查看更新的代码,当错误发生时,类
警报
不会应用于错误元素,直到您单击错误元素。。。有什么想法吗?很好的回答。我可以用它来停止广播并选择字段以避免抛出错误。