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

问题描述:

我有一个简单的slideToggle设置,在页面上打开div。一些divs在其中进行自我测试。当div关闭时,我无法确定如何重置单选按钮。这里是jQuery的:如何在关闭slideToggle时重置选定的单选按钮?

$("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; 
}); 

+0

这完美的作品!我也加了$('。selfTestAnswer')。slideUp(300);重新隐藏答案段落。谢谢! – danzo 2013-04-25 17:34:33

+0

很高兴帮助! – 2013-04-25 17:35:16

这可以解决你的问题:

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

(由类= “嗨” 到每个输入)

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

+0

这适用于jsFiddle,但不适用于我的网站:( – danzo 2013-04-25 17:35:35