On Jul 18, 12:58 pm, hubbs <[EMAIL PROTECTED]> wrote:
> I might be getting confused about the proper use of "this". I thought
> I understood how this worked, and that since I am triggering the
> onclick even on an anchor, that the "this" would be in the context of
> that anchor tag, so that I could grab its href.
>
> Here is what I have done, but it is returning undefined for asseturl.
>
> function deleteAjaxAsset(message, assetid) {
> var asseturl = $(this).attr("href");
> alert(asseturl);
> var confirmDelete = confirm(message);
> if (confirmDelete == true) {
> if(action == "delete") {
> $.ajax( {
> type : "POST", url : asseturl + "?action=delete" }
> );
> }
> }
> }
>
> <a href="http://www.testpage.com" onclick="deleteAjaxAsset('Are you
> sure you want to delete?','testid'); return false;">Delete</a>
>
> Thanks guys!
Since you're bypassing jQuery's event framework 'this' is not
automatically set to the anchor for you. You'd be better off dropping
the inline onclick attributes and doing something like this:
$('a').click(deleteAjaxAsset)
and refactoring deleteAjaxAsset a bit to get the args via 'this'.
But you could continue using onclick if you must; I think this should
work:
onclick="deleteAjaxAsset.call(this, 'Are you sure you want to
delete?','testid'); return false;"