diff --git a/jquery.are-you-sure.js b/jquery.are-you-sure.js index 3c41e2f..bd94836 100644 --- a/jquery.are-you-sure.js +++ b/jquery.are-you-sure.js @@ -18,6 +18,7 @@ { 'message' : 'You have unsaved changes!', 'dirtyClass' : 'dirty', + 'dirtyFieldClass' : 'dirty-field', 'change' : null, 'silent' : false, 'addRemoveFieldsMarksDirty' : false, @@ -78,15 +79,21 @@ return (getValue($field) != origValue); }; + + var $form = ($(this).is('form')) ? $(this) : $(this).parents('form'); // Test on the target first as it's the most likely to be dirty if (isFieldDirty($(evt.target))) { + setDirtyFieldStatus($(evt.target), true); setDirtyStatus($form, true); return; } + else { + setDirtyFieldStatus($(evt.target), false); + } $fields = $form.find(settings.fieldSelector); @@ -135,6 +142,11 @@ } }; + var setDirtyFieldStatus = function($field, isDirty){ + $field.toggleClass(settings.dirtyFieldClass, isDirty); + + }; + var rescan = function() { var $form = $(this); var fields = $form.find(settings.fieldSelector);