I have 2 JavaScript functions that dynamically-named..
function a1(){
//some codes
}
function a2(){
//some codes
}
function a3(){
//some codes
}
these functions above generated by PHP for sure..
<?php
for($i = 1; $i <= $load_period->count; $i++){
?>
<script type="text/javascript">
function a<?php echo $i;?>(){
//javascript functions
}
</script>
<?php
}
?>
now I have to call both of these functions with for..
for(var i= 1; i <= 3; i++){
// here the solution code ..
// doesn't work >> a+i+();
}
thanks for any solution..
If the functions are globally accessible you may write
window['a'+i]()
Otherwise, you may be able to rewrite your code to add all the functions to one variable:
var f = {
a1: function() { },
a2: function() { },
a3: function() { }
};
... and call f['a'+i]()
.
If you're rewriting, since all functions are named by an index, you might as well write:
var myFunctions = [
function() { },
function() { },
function() { }
];
... and call myFunctions[i]()
. (Of course, as Felix Kling points out in comments, i
here would have to be adjusted to be 0-based).