我使用以下代码在未选中组并且提交表单时突出显示单选按钮字段。
我想使错误类从已检查的单选按钮组的标签元素中删除。
有人能告诉我如何通过修改我的代码下面?
checkRadios : function (form) {
var $form = $(form),
radioGroups = $form.find(".radiogroup")
radios = radioGroups.find("input");
radios.each(function () {
if ($radios.is(':checked')) {
$(this).closest("tr")
.find("label")
.removeClass("error");
} else {
$(this).closest("tr")
.find("label")
.addClass("error");
$(this).on("change", function () {
checkRadios(form);
});
}
});
我想这样可以
function checkRadios() {
var form = $('form')
var grps = $('.radiogroup')
grps.each(function(i, v){
if($('input:checked', v).length > 0){
$(v).closest('tr').find("label").removeClass('error');
}else{
$(v).closest('tr').find("label").addClass('error');
}
});
}
演示:小提琴
试试下面的代码:
radioGroups.each(function () {
if ($(this).find("input:checked").length > 0) {
$(this).closest("tr")
.find("label")
.removeClass("error");
} else {
$(this).closest("tr")
.find("label")
.addClass("error");
}
});
这个想法是对组进行循环,并查找每个组中是否有选中的单选项:
$(this).find("input:checked").length > 0