(function () { update = function() { function create_handler(saved_div) { return (function(response) { if (response.error) { saved_div.html("<span class='error'>" + response.error + "</span>"); } else { saved_div.html(response.preview); } }); } prev_id = "#" + this.id + "_preview"; preview_div = $(prev_id) $.get("/preview/chemcalc/", {"formula" : this.value}, create_handler(preview_div)); } inputs = $('.chemicalequationinput input'); // update on load inputs.each(update); // and on every change inputs.bind("input", update); }).call(this);