0

我想为表单中的一些输入添加/删除 css 类

<form id="FormId" method="post" enctype="multipart/form-data">
<input type=​"text" class=​"input-bg">​
<input type=​"text" class=​"input-bg">​
<input type=​"text" class=​"input-bg">​
<input type=​"text" class=​"validate input-bg">​
<input type=​"text" class=​"validate input-bg">​
<input type=​"text" class=​"input-bg">​
<input type=​"text" class=​"bg-datepicker">​
</form>

$("#FormId input[type=text]").each(function () 
{
 <!--if input have class validate I want to verify if text !=''-->
input.addClass('error');
<!--else-->
input.removeClass('error');
})

如何验证这里的价值?

4

3 回答 3

1
$("#FormId input[type=text]").each(function () {
    if ($(this).hasClass('validate')) {
        if (this.value == '') {
            $(this).addClass('error');
        } else if ($(this).hasClass('error')) {
            $(this).removeClass('error');
        }
    }
});

或者

$("#FormId input[type=text].validate").each(function () {
    if (this.value == '') {
        $(this).addClass('error');
    } else if ($(this).hasClass('error')) {
        $(this).removeClass('error');
    }
});

参考

.hasClass()

http://learn.jquery.com/javascript-101/this-keyword/

于 2013-09-23T14:22:59.217 回答
1

试试这个,使用.filter()

$("#FormId input[type=text].validate").filter(function(){
         this.value ==''?$(this).addClass('error'): $(this).removeClass('error')
});

演示

于 2013-09-23T14:33:40.857 回答
1

只需使用validate类循环输入。您可以通过将布尔值作为第二个参数传递toggleClass来添加或删除类:error

$('#FormId input[type="text"].validate').each(function() {
    $(this).toggleClass('error', !$.trim(this.value).length);
});

.toggleClass 文档

小提琴

于 2013-09-23T14:34:35.077 回答