如果输入类型不为空,则添加css样式

时间:2014-08-27 14:26:54

标签: jquery

我想在加载页面上直接检查输入文本,但是没有在输入中添加任何内容,他的工作也没有。如何解决?

<form action="">
  <input type="text" id="author" value="Bill">
</form>

$("#author").keyup(function(){
    if($(this).val()) {
        $("#author").addClass("notempty");
        /* if input is not empty do background yellow */
    } else {
        $("#author").addClass("empty");
         /* else background is red */
    }
});

demo http://jsfiddle.net/540dwmcn/

2 个答案:

答案 0 :(得分:3)

您的代码设置为触发keyup事件。要在页面加载时运行它,请通过在末尾添加.keyup();来手动触发密钥。

<强> jsFiddle example

另外,您可能也希望清除这些类(注意在小提琴中使用.removeClass()

$("#author").keyup(function () {
    if ($(this).val()) {
        $("#author").removeClass().addClass("notempty");
        /* if input is not empty do background yellow */
    } else {
        $("#author").removeClass().addClass("empty");
        /* else background is red */
    }
}).keyup();

答案 1 :(得分:0)

DEMO

$("#author").keyup(function(){
    if($(this).val()) {
        $("#author").addClass("notempty")
        .removeClass("empty");
        /* if input is not empty do background yellow */
    } else {
        $("#author").addClass("empty")
        .removeClass("notempty");
        /* else background is red */
    }
}).keyup();