【问题标题】:Trouble clearing errors in radio button groups using jQuery使用 jQuery 清除单选按钮组中的错误时遇到问题
【发布时间】:2013-02-14 02:59:32
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jquery forms validation radio-button each


    【解决方案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

    【讨论】:

    【解决方案2】:

    试试这个代码:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 2022-11-16
      • 2018-06-11
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2014-03-21
      相关资源
      最近更新 更多