The following code works fine as below, but I can't write it as a loop structure. I need a loop because 26, 27, 28 are values of a Smarty variable in a template file (so 26, 27, 28 has to be replaced with JavaScript variable defined based on a Smarty variable).
<script type="text/javascript">
  $(document).ready(function(){
    var name = "product_data";
    $("#button_cart_26").click(function () {
      $('input:radio[name="'+name+'"]')[0].checked = true;
    });
    $("#button_cart_27").click(function () {
      $('input:radio[name="'+name+'"]')[1].checked = true;
    });
    $("#button_cart_28").click(function () {
      $('input:radio[name="'+name+'"]')[2].checked = true;
    });
  });
</script>
I've tried, for example something like this:
<script type="text/javascript">
  $(document).ready(function(){
    var name = "product_data";
    var index;
    var a = [26, 27, 28];
    for (index = 0; index < a.length; ++index) {
        //alert("#button_cart_"+a[index]);      //alert is OK
        $("#button_cart_"+a[index]).click(function () {
          $('input:radio[name="'+name+'"]')[index].checked = true;
        });
    }   
  });
</script>
Can you help, please?
 
    