2013-02-28 44 views
0

我未使用以下代碼來突出顯示單選按鈕字段,並且未提交表單。使用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); 
    }); 
    } 
}); 

回答

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

在http://jsfiddle.net/arunpjohny/dCRaH/4/更新了小提琴,更改了事件支持 – 2013-02-28 04:10:33

+0

完美。謝謝! – Zoolander 2013-02-28 04:24:56

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 
相關問題