使用jQuery清除单选按钮组中的错误

时间:2013-02-28 03:08:18

标签: jquery forms validation radio-button each

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

我想这样做,以便从已检查过的单选按钮组的标签元素中删除错误类。

有人可以通过修改下面的代码告诉我如何做到这一点吗?

  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);
    });
  }
});

2 个答案:

答案 0 :(得分:1)

我认为这样做

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');
        }
    });
}

演示:Fiddle

答案 1 :(得分:1)

试试这段代码:

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