$(document).ready(function () { var opti = []; var contain= [] $(".wecharts").each( function(i,obj) { console.log(i) cont=$(this).attr("id"); console.log(cont); inc='/charts/'+$(this).data('chart'); console.log(inc); contain[i]=cont; opti[i]=inc; }); function GetSomeDeferredStuff() { console.log('st defferred'); var deferreds = []; var m = 0; console.log('jj'+contain.length); for (m = 0; m < contain.length; m++) { var count = m; console.log('for:'+m); deferreds.push( $.getScript( opti[m],function(data, textStatus, jqxhr){ //console.log(data); }) ); } return deferreds; } var deferreds = GetSomeDeferredStuff(); $.when.apply(null, deferreds).done(function() { for (var m = 0; m < contain.length; m++) { opt=eval('options'+contain[m]); Highcharts.chart(contain[m], opt); } }); });