使用 jQuery 清除单选按钮组中的错误时遇到问题
Posted
技术标签:
【中文标题】使用 jQuery 清除单选按钮组中的错误时遇到问题【英文标题】:Trouble clearing errors in radio button groups using 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);
);
);
【问题讨论】:
【参考方案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
【讨论】:
更新了jsfiddle.net/arunpjohny/dCRaH/4 的小提琴,支持更改事件【参考方案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
【讨论】:
以上是关于使用 jQuery 清除单选按钮组中的错误时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章