关闭slideToggle时如何重置选定的单选按钮?

我有一个简单的slideToggle设置,可以在页面上打开div。 一些div有自我测试。 当div关闭时,我无法弄清楚如何重置单选按钮。 这是jQuery:

$("h2.titleTrigger").click(function(e){ e.preventDefault(); //TOGGLE OPEN/CLOSE THE DIV $(this).toggleClass("active").next().slideToggle("fast"); return false; }); //self test $('input:radio').bind('change',function(e){ e.preventDefault(); var parentId = $(this).parents('.selfTest').attr('id'); $('#'+parentId+' .selfTestWrong').addClass('answerShown'); $('#'+parentId+' .selfTestAnswer').slideDown(300); }); 

看到它在这里工作: http : //jsfiddle.net/3XBgu/

当用户关闭slideToggle时,将自检重置为未选择状态的最佳方法是什么?

你可以这样做:

 $("h2.titleTrigger").click(function (e) { e.preventDefault(); //TOGGLE OPEN/CLOSE THE DIV $(this).toggleClass("active").next().slideToggle("fast"); // Re-set all the radio buttons $('input:radio').prop('checked', false); // Re-set all the labels class $('.selfTestWrong').removeClass('answerShown'); return false; }); 

小提琴

这解决了您的问题:

 //TOGGLE OPEN/CLOSE THE DIV $(this).toggleClass("active").next().slideToggle("fast"); $(".hey").each(function(){ this.checked = false; $('.selfTestWrong').removeClass('answerShown'); $('.selfTestAnswer').hide(); }); return false; }); 

(为每个输入添加了class =“hey”)

http://jsfiddle.net/3XBgu/2/