Hi sunsuron, The problem is that IE doesn`t change the method triggers and you bind the method. Here the example with your code in js "delegate.js"
;(function($) { $.yoyoClass = function() { this.construct(); }, $.extend($.yoyoClass.prototype, { construct: function() { this.validate(); }, validate: function() { *var theForm = $('form:first *');* var self = this; theForm.unbind().validate({ onfocusout: false, onkeyup: false, onclick: false, focusInvalid: false, groups: { dob: 'dob_day dob_month dob_year', phone: 'mobileph officeph houseph' }, rules: { sel: { required: true } }, messages: { sel: { required: 'Required' } } }); theForm.delegate('change', '#sel', function(e) { theForm.validate(); alert('triggered '+*$("#sel").attr("value")*); }); } }); $(document).ready(function() { if (typeof $.yoyo === 'undefined') { $.yoyo = new $.yoyoClass(); } }); })(jQuery) you have add "*" in *var theForm = $('form:first *');* because Changes are not propagated up through to the form I guess and Just bind to all the possible pieces of the form and look for changes directly there. test and tell me if the solution works for you -- Atte. Carlos Becar.