Javascript jQuery-如何将自定义CSS应用于非空字段
我有一些带有自定义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)如果不为空则
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
对输入不起作用,因为值不是输入的子元素。另外,您的上一个示例只是删除然后添加相同的类到相同的元素。非常感谢。非常有用!