This example uses a javascript lambda function to generate a custom call inside a for loop.
Code from an event function for an ExtJs core.
The parameter rid is evaluated 'on the fly'. If it was sent in an usual way, function would evaluate rid as last context[k].id cycled.

Code from an event function for an ExtJs core.
for k in ...
var rid = content[k].id;
rate.on( "change", function(rid) { // receives current rid value
return function(e) {
Ext.Ajax.request({
url:"/rate",
success: function() {
},
failure: function() {
alert( "unable to rate" );
},
params:{id:rid, value: e.value}
});
}
}(rid) ); // pass rid with current value
...
The parameter rid is evaluated 'on the fly'. If it was sent in an usual way, function would evaluate rid as last context[k].id cycled.

how cool! :)
ReplyDelete