2013-04-25 97 views
0

我有一個簡單的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的最佳方式?

回答

1

你可以這樣做:

$("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

0

這可以解決你的問題:

//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