Удаление функции и активация новой функции

Я создам контроль с помощью "плагина проверки формы jquery". Я хочу, чтобы в разделе "init" функция щелчка была удалена, когда я стал активировать новую функцию. Или я хочу услышать ваши альтернативные решения для этой ситуации.

Можете ли вы помочь мне, пожалуйста, ребята. Благодарю.

var FormValidation = function() {
    var Profile = function() {
        var error2 = $('div#tab_1_1  .alert-danger', $('#form1'));
        var success2 = $('div#tab_1_1  .alert-success', $('#form1'));
        $('#form1').validate({
            errorElement: 'span',
            errorClass: 'help-block help-block-error',
            focusInvalid: true,
            ignore: "",
            rules: {
                name: {
                    minlength: 2,
                    required: true
                },
                lastname: {
                    minlength: 2,
                    required: true
                }
            }
        });
    }
    var ProfileTwo = function() {
        var error2 = $('div#tab_1_2  .alert-danger', $('#form1'));
        var success2 = $('div#tab_1_2  .alert-success', $('#form1'));
        $('#form1').validate({
            errorElement: 'span',
            errorClass: 'help-block help-block-error',
            focusInvalid: true,
            ignore: "",
            rules: {
                name: {
                    minlength: 2,
                    required: true
                },
                lastname: {
                    minlength: 2,
                    required: true
                }
            }
        });
    }

    var Func = Profile();
    return {
        init: function() {
            $("ul#ProfileTabs li").click(function() {
                Func = null;
                var DataID = $(this).find("a").data("id");
                if (DataID === "tab_1_1") {
                    Func = Profile();
                } else if (DataID === "tab_1_2") {
                    Func = ProfileTwo();
                } else {
                    Func = null;
                }
                Func();
            });
        }
    };
}();

jQuery(document).ready(function() {
    FormValidation.init();
});

1 ответ

Решение

Я бы заставил функции Profile1 и Profile2 возвращать только проверенный объект.

On tab click Затем я бы сначала назвал unbind

$('#form1').data('validator', null);
$("#form1").unbind('validate');

а затем подключите новый профиль

validate_obj = <get PROFILE1 or PROFILE2>
$('#form1').validate( validate_obj );
Другие вопросы по тегам