Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-如何将自定义CSS应用于非空字段_Javascript_Jquery_Css_Forms - Fatal编程技术网

Javascript jQuery-如何将自定义CSS应用于非空字段

Javascript jQuery-如何将自定义CSS应用于非空字段,javascript,jquery,css,forms,Javascript,Jquery,Css,Forms,我有一些带有自定义css的class=“required”字段 当我提交表单时,我看到一条自定义错误消息,该消息应用了必填字段css: $(".required").addClass('required-fields'); 现在,当我完成一些字段(并非所有必填字段)并再次提交de表单时,可能我需要看到的是:在包含数据(非空)的字段中,应该使用另一个css。比如边境绿之类的 是否可以使用for执行操作?您可以检查输入是否有值。例如,if($(“#nameInput).value)如果不为空则

我有一些带有自定义css的
class=“required”
字段

当我提交表单时,我看到一条自定义错误消息,该消息应用了必填字段css:

 $(".required").addClass('required-fields');

现在,当我完成一些字段(并非所有必填字段)并再次提交de表单时,可能我需要看到的是:在包含数据(非空)的字段中,应该使用另一个css。比如边境绿之类的


是否可以使用
for
执行操作?

您可以检查输入是否有值。例如,
if($(“#nameInput).value)
如果不为空则为true。您可以向这些输入添加一个类

for(var i=0;i<inputs.length;i++){
  if(inputs[i].value){
    //enter add class code here
  }
 }

对于(var i=0;i您可以尝试以下内容(由于您没有提供
HTML
),所以不能更具体):

使用可以更改元素的外观

更新:

要向其添加类,请尝试以下操作:

$('.required').not('[value=""]').addClass('className');
$('.required').not('[value=""]').removeClass('className').addClass('className');
要删除一个类,然后添加另一个类(您也可以使用),请尝试以下操作:

$('.required').not('[value=""]').addClass('className');
$('.required').not('[value=""]').removeClass('className').addClass('className');

.

您必须使用Jquery选择器传递每个输入,如

var $fields = $('.field');
并检查该字段是否为必填字段,以及是否给定值:

$fields.each(function ($field) {
  if ($field.hasClass('required') && !$field.value) {
     $field.addClass('required-fields');
  }
  else {
    $field.addClass('green-fields');
  }
});

这是一个快速的草稿:)

您可以尝试以下内容:

$('.required').removeClass('ok').filter(function(){
    return !!$(this).val();
}).addClass('ok'); 
它用一个值过滤所有必填字段,并添加类“ok”

试试这个:

$('input.required:text').filter(function() {
    return $(this).val() == "";
}).css(...);

<> P>表单验证和用户反馈是一个非常普遍的要求,您可能希望考虑使用插件而不是编码自定义解决方案(重新发明轮子):

如果您附加了一些fiddle/HTML代码,对回答者来说会更好。
是否可以使用for-maybe?
。是的。如何使用特定类设置输入变量?例如,使用
$(.required”)
?我是指使用该类的所有输入。
var-inputs=$(.required”);
将为您提供该类的输入数组。然后您可以使用for循环遍历每个输入。我认为这不起作用。As:empty选择器正在查找内部html。Not valAFAIK
:empty
对输入不起作用,因为值不是输入的子元素。另外,您的上一个示例只是删除然后添加相同的类到相同的元素。非常感谢。非常有用!