0

我有一个简单的 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 时,将自检重置为未选择状态的最佳方法是什么?

4

2 回答 2

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;
});

小提琴

于 2013-04-25T17:14:28.167 回答
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;
});

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

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

于 2013-04-25T17:18:21.763 回答