From 0b6d45356ebb9a55f07eb2834e0aab19227f4b2a Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 13 Jun 2012 23:15:13 +0200 Subject: [PATCH] MINOR Added destroy() method to jQuery.changetracker plugin --- .../jquery-changetracker/lib/jquery.changetracker.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/admin/javascript/jquery-changetracker/lib/jquery.changetracker.js b/admin/javascript/jquery-changetracker/lib/jquery.changetracker.js index 44085f7d3..0aa5d18f4 100644 --- a/admin/javascript/jquery-changetracker/lib/jquery.changetracker.js +++ b/admin/javascript/jquery-changetracker/lib/jquery.changetracker.js @@ -67,8 +67,8 @@ // setup original values var fields = this.getFields(); - fields.filter(':radio,:checkbox').bind('click', onchange); - fields.not(':radio,:checkbox').bind('change', onchange); + fields.filter(':radio,:checkbox').bind('click.changetracker', onchange); + fields.not(':radio,:checkbox').bind('change.changetracker', onchange); fields.each(function() { var origVal = $(this).is(':radio,:checkbox') ? self.find(':input[name=' + $(this).attr('name') + ']:checked').val() : $(this).val(); $(this).data('changetracker.origVal', origVal); @@ -76,6 +76,14 @@ this.data('changetracker', true); }; + + this.destroy = function() { + this.getFields() + .unbind('.changetracker') + .removeClass(options.changedCssClass) + .removeData('changetracker.origVal'); + this.removeData('changetracker'); + }; /** * Reset change state of all form fields and the form itself.