【问题标题】:How to reset selected radio buttons when closing slideToggle?关闭slideToggle时如何重置选定的单选按钮?
【发布时间】:2013-04-25 17:08:06
【问题描述】:

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

【问题讨论】:

    标签: jquery radio-button reset 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;
    });
    

    FIDDLE

    【讨论】:

    • 这很完美!我还添加了 $('.selfTestAnswer').slideUp(300);重新隐藏答案段落。谢谢!
    【解决方案2】:

    这解决了你的问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-21
      • 2013-12-12
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多