javascript - 带有 jQ​​uery 和 textarea 的动态 if/else 语句

标签 javascript jquery html css if-statement

所以我正在尝试设置 <textarea> 的样式当输入了多个字符时突出显示的标签。(对于联系表格)。当有人填写表格时,字段将全部突出显示为绿色,让他们知道它是有效的。总的来说,我对 JS 和 jQuery 很陌生,但我很确定这是可行的。我可以使用 $('#message').addClass('valid')本身,它将应用该类,但是当我添加 if/else 语句时,没有任何效果。这是脚本

\\ Begin Highlight Code
var $messageval = $('#message').val()
    if ($messageval.length != 0 ){
     $('#message').addClass('valid');
    }
    else ($messageval.length = 0 ){
      $('#message').removeClass('valid');
    }
  });

我已经用谷歌搜索了几个小时,但我找不到任何可以根据文本长度变量动态添加和删除类的内容。

谢谢

最佳答案

你错过了else if

 if ($messageval.length != 0 ){
     $(this).addClass('valid');
    }
    else if($messageval.length == 0 ){ //<-- Here
      $('#message').removeClass('valid');
    }

基本上你可以拥有

   if ($messageval.length != 0 ){
     $('#message').addClass('valid');
    }
    else { //<-- Here
      $('#message').removeClass('valid');
    }

我想这就是您要找的:-

  $(function(){
   $('#message').on('keyup', function () {
    var $messageval = $.trim($(this).val()); //$.trim here  to avoid whitespace preventing validation.

    if ($messageval.length != 0) {
        $(this).addClass('valid'); //this here represent the textarea dom element, and $(this) is the jquery wrapper.
    } else {
        $(this).removeClass('valid');
    }
  });
 });

Fiddle

关于javascript - 带有 jQ​​uery 和 textarea 的动态 if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600179/

相关文章:

javascript - 如何选择optgroup

javascript - 如何使用多个属性选择器但针对特定属性值?

javascript - 使用 RequreJS、TypeScript 将 Redux 导入到我的 ASP.NET MVC 项目中(需要错误 : Script error for "redux",...)

javascript - 自动完成 jquery 基于第一个字段值的两个字段需要填充为第二个字段中的自动完成

javascript - 单击带有 DOM 内容的 Javascript 按钮触发文件下载

javascript - 模糊背景 - Jquery/纯 CSS/图像?

javascript - 转换后的 razor 模型为 JS 对象属性为 null

javascript - jQuery $.delegate() 单个选择器多个事件还是 $.bind() 更好的解决方案?

javascript - 在悬停选择选项时显示信息框

javascript - 为什么在新窗口打开时提交表单?