jQuery SuperLoad
An important part of working with jQuery is to create plugins to simplify repetitive tasks. I write jQuery plugins all the time for internal consumption of my applications.
Most of them are not of enough general purpose to be shared publicly. Recently I created one that could stand on its own and I chose to make it available if anyone is interested.
Multiple Element Ajax Updates
jQuery SuperLoad came out of the necessity to update more than one element in a page without needing to do everything with JavaScript (and you know I'm not the one that avoids JavaScript).
All of the page elements I needed to update with Ajax came from
page segments (partials, user controls, etc) that I had available on
my server side. It seemed appropriate to go back to the server to
get updated versions of that same HTML. But I didn't want to issue a
separate $.ajax() or $(elem).load for each one of them.
Using SuperLoad I can now return something like the following from my server application and have more than one element updated.
<div class="ajax-content">
<div title="!appendTo #content .shoppingList">
<li>
<img src="/images/prod12345.png" class="product-image">
<div class="prodSummary">
<div class="prodTitle">ACME Product</div>
<div class="prodPrice">$12.34</div>
</div>
</li>
</div>
<div title="!update #orderTotal">
Total: <span class="totalPrice">$47.22</span>
<div class="specialOffer">Eligible for free shipping!</div>
</div>
<script>
$('#orderTotal specialOffer').effect('highlight');
</script>
</div>
All that is needed for this to be correctly applied to the right
elements (selected by "#content .shoppingList" and "#orderTotal"
is a line of code similar to this example.
$.superLoad({
url: '/shopping/addItem',
type: 'POST',
data: {product: 12345}
});
Check the plugin source code comments or the github repository page for more details.


