我有一组复选框都具有相同的名称。使用JQuery validate验证是否至少选中了一个复选框时,只有第一个复选框设置为红色轮廓,背景设置为红色。这似乎是由validate插件完成的,因为没有其他代码仍在更改。
我尝试了以下代码,并且inspect元素显示了其他复选框的样式更改,但它们没有更改。
<label class="checkbox ">
<input class="taskcheck" type="checkbox" name="task" value="x">
</label>
style="outline-color: rgb(185, 44, 40);"
errorPlacement : function(error, element) {
if (element.attr('name') == 'task'){
$('.taskcheck').css('outline-color','#B92C28');
} else {
error.insertAfter(element.parent());
}
答案 0 :(得分:0)
我能够达到预期的效果,即当用户尝试提交表单时,将组中的所有复选框更改为红色。我通过在下面的jquery验证errorPlacement函数中使用了此功能。
errorPlacement : function(error, element) {
if (element.attr('name') == 'task'){
$('ul.task-list').find('label.checkbox').addClass('state-error');
} else {
error.insertAfter(element.parent());
}
}