Something like this? (no pun intended)

obj.click(function() {
  var self = $(this);

  ...

   defaults.onComplete(self);

On Wed, Feb 25, 2009 at 3:11 PM, Nic Hubbard <[email protected]> wrote:
>
> I have built a custom callback into my plugin, here is an example:
>
>  $.fn.matrixStatus = function(options) {
>    var defaults = {
>      urlSuffix: '?action=live',
>          onComplete: function() {}
>    };
>
>    var options = $.extend(defaults, options);
>
>    return this.each(function() {
>      var obj = $(this);
>          var itemDesc = obj.attr('rel');
>      var itemId = obj.attr('id');
>      var itemHref = obj.attr('href');
>      obj.click(function() {
>      if (!itemDesc == '') {
>                  var question = confirm('Are you sure you want to change the 
> status
> of "'+itemDesc+'"?');
>          } else {
>                  var question = confirm('Are you sure you want to change the
> status?');
>          }
>        if (question) {
>          $.ajax({
>            type: 'POST',
>            url: itemHref + defaults.urlSuffix
>          });
>
>                  // Run our custom callback
>                  defaults.onComplete();
>
>        }
>        return false;
>
>      });
>
>    });
>
>  };
>
> For some reason when I try to use that function for a custom callback,
> it won't allow me to get the jQuery object that the plugin is
> targeting, so using $(this) within the onComplete function doesn't
> work and give me errors.  Any idea why this would be?

Reply via email to