从所有输入元素中删除类

时间:2014-01-17 03:21:31

标签: javascript jquery asp.net-mvc validation

我想从输入元素中删除一个类。我正在使用Data Annotations中的MVC和不显眼的javascript进行验证,无论如何,当用户点击提交按钮时我想删除{{1}来自所有输入元素的类,因为它改变了所有不必要的输入(非必需)有效(绿色边框颜色)并且它看起来不太好。不管怎样,我试试这个:

valid

它没有用,也试过了:

$("#submitBtn").click(function () {
    if ($(".input-validation-error").length == 0) { // if there is no error
        $(this).button('loading');     
    } else {
        $("input").each(function () {
            $(this).removeClass("valid");
        }); 
    }

它也没有用。我想也许它在验证之前工作,并且在点击事件之后自动添加有效的类。所以我试试这个:

$("input").removeClass("valid");

但仍然没有成功。我不太了解jQuery,可能我错过了一些简单的东西。问题是什么?

3 个答案:

答案 0 :(得分:1)

如果类附加到input元素,那么它应该像

一样简单
$("input.valid").removeClass('valid')

事实证明OP不希望应用有效的突出显示,因此将validClass设置为''修复它

对于页面,使用

设置了默认的validClass
jQuery.validator.setDefaults({ validClass: '' });

答案 1 :(得分:0)

尝试将代码包装在DOM中:

 $(document).ready(function() {
      $("#submitBtn").click(function () {
           if ($(".input-validation-error").length == 0) { // if there is no error
                $(this).button('loading');     
           } else {

           $("input").each(function () {
               $(this).removeClass("valid");
           }); 
      }
})

答案 2 :(得分:0)

看看这个小提琴:

http://jsfiddle.net/dwQb4/1/

$("input").removeClass("valid");

有3个输入,其中class =“valid”将它们变为绿色,并使用一些jquery来删除该类

这可能会对你有所帮助