Well, thats quite a lot to ask, but I'm in a giving mood: Javascript: $(function(){ $("[EMAIL PROTECTED]").click(function(){ if(confirm("Are you sure you'd like to delete this photo?")) { var photo_id = $(this).parent().find("input").val(); $.get("/apps/photos/runtime.lasso",{id:photo_id},function(msg){ // I'm pretty sure "this" still points to the img $(this).parent().empty().text(msg); }); } return false; }); });
HTML: <div> <input type="hidden" value="photo_id"/> <img src="/apps/photos/images/delete.gif" style="cursor:pointer;"/> </div> So, I changed a couple of things to simplify your markup: * You don't need an anchor, you can bind the click event to the image * I don't see what the "loop count" is for, so I removed that * The return message (msg) is assumed to be plain text, not xml * function(msg) will run on a successful AJAX call, $.get * the first line $(), is the same as window.onload.... * I assumed your application, runtime.lasso, takes in a single argument called "id" One of the best things about jQuery is the plethora of documentation options out there, I'd suggest starting here: http://docs.jquery.com/Tutorials - jake On 3/29/07, Shelane Enos <[EMAIL PROTECTED]> wrote: > I have a solution that was written with a minimalist, basic AJAX file. I > would love to upgrade to jQuery, but I'm still such a newbie that my brain > isn't functioning. > > I have a list of photos returned from my database with dynamic loop > counting. Each row is currently this: > > <div id="photo[loop_count]" class="Text2" > > <input name="photo" type="hidden" value="[field: 'ID']" /> > <a href="#" title="Remove this Photo" onclick="return > rmPhoto('process.lasso?[field: 'ID']', 'photo[loop_count]', '[loop_count - > 1]');"><img src="/apps/photos/images/delete.gif" width="19" > height="19"border="0" align="middle" /></a></div> > > That onclick function is passing page that needs to do the processing, the > div ID (where it's going to display the response message), and the current > loop count - 1 to set the value of the hidden field. > > It calls this function: > > function rmPhoto(data, message, loop){ > if (confirm("Are you sure you want to delete this photo?")){ > if(!document.album.photo.length > 0) > document.album.photo[loop].value = 0; > else > document.album.photo.value = 0; > processData('/apps/photos/runtime.lasso', data, message); > } > return false; > } > > processData is basic AJAX function to call the file, pass the data, and > return info to the div to display. > > So, I'll need to find all divs with class "Text2" > find the a tag within that div > bind a click function to that a tag > which will: > do a load to that div - this I believe will obliterate any all > items in the div, which is actually fine because when the main form is > processed, I would need information about a deleted photo anyway. > > Any help in writing this in jQuery would be appreciated. > > [Shelane] > > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ > _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/