用jquery只确认一次函数

时间:2017-11-11 23:35:35

标签: javascript jquery

我有这个功能。如果第二次确认我不想再问了!

jQuery('input[type="radio"]').click(function() {

            if(rel == max || rel < max) {
                sec(jQuery(this).attr('rel'), jQuery(this).val());
            }

            var names = {};
            jQuery(':radio').each(function() {
                names[jQuery(this).attr('name')] = true;
            });
            var count = 0;
            jQuery.each(names, function() { 
                count++;
            });

            var confirmed = false;
            if (jQuery(':radio:checked').length === count) {
                if(confirmed || confirm("Bütün soruları cevapladınız testi bitirelim mi ?")) {
                    jQuery('#FinishTest').trigger('click');
                    confirmed = true;   
                }   else {
                    confirmed = true;
                }
            }
        });

确认剂量工作。

1 个答案:

答案 0 :(得分:1)

您的var confirmed不是全局的,所以它会在每次点击时重置,通过将其放在点击回调旁边使其全局化:

var confirmed = false;

jQuery('input[type="radio"]').click(function() {

        if(rel == max || rel < max) {
            sec(jQuery(this).attr('rel'), jQuery(this).val());
        }

        var names = {};
        jQuery(':radio').each(function() {
            names[jQuery(this).attr('name')] = true;
        });
        var count = 0;
        jQuery.each(names, function() { 
            count++;
        });


        if (jQuery(':radio:checked').length === count) {
            if(confirmed || confirm("Bütün soruları cevapladınız testi bitirelim mi ?")) {
                jQuery('#FinishTest').trigger('click');
                confirmed = true;   
            }   else {
                confirmed = true;
            }
        }
    });