在使用jQuery清除单选按钮组错误时遇到问题



我使用以下代码在未选中组并且提交表单时突出显示单选按钮字段。

我想使错误类从已检查的单选按钮组的标签元素中删除。

有人能告诉我如何通过修改我的代码下面?

  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

最新更新