我有一个表格,我希望所有的字段都被填写。如果单击一个字段,然后没有填写,我想显示一个红色背景。

这是我的代码:

$('#apply-form input').blur(function () {
  if ($('input:text').is(":empty")) {
    $(this).parents('p').addClass('warning');
  }
});

无论字段是否填写,它都应用警告类。

我做错了什么?


当前回答

为什么没有人提到

$(this).filter('[value=]').addClass('warning');

在我看来更像jquery

其他回答

:empty伪选择器用于检查元素是否不包含子元素,你应该检查它的值:

$('#apply-form input').blur(function() {
     if(!this.value) { // zero-length string
            $(this).parents('p').addClass('warning');
     }
});

函数checkForm() { 返回$(“输入(type =文本)”)。Filter (function () { 返回$ ().val()。长度=== 0; }) . length; }

为什么没有人提到

$(this).filter('[value=]').addClass('warning');

在我看来更像jquery

你可以用also..

$('#apply-form input').blur(function()
{
    if( $(this).val() == '' ) {
          $(this).parents('p').addClass('warning');
    }
});

如果你对空格有疑问,那么试试..

$('#apply-form input').blur(function()
{
    if( $(this).val().trim() == '' ) {
          $(this).parents('p').addClass('warning');
    }
});

一个干净的css解决方案是:

input[type="radio"]:read-only {
        pointer-events: none;
}