grails - ${var} Not Getting Replaced in Select onchange Event -


i have following select in template render, passing in model. ${i} get's replaced value of i, expected in places. ${i} not getting replaced in onchange event.

so,

<g:select class='settagtypevalue-class'         name='tagtype-${i}-header'         from="${org.maflt.ibidem.tagtype.list(sort:'tagtype').groupby{it.tagtype}.keyset()}"         value="${settagtypevalue?.tagtype?.tagtype}"         noselection="${['null':'select one...']}"         onchange="${remotefunction(action:'options', update:'tagtype-options-${i}',                       params:'\'tagtype=\' + this.value +\'&i=${i}\'' )}" /> 

gets rendered as:

<select name="tagtype-0-header" onchange="jquery.ajax({type:'post',data:'tagtype=' + this.value +'&amp;i=${i}', url:'/ibidem/metadataset/options',success:function(data,textstatus){jquery('#tagtype-options-${i}').html(data);},error:function(xmlhttprequest,textstatus,errorthrown){}});" class="settagtypevalue-class" id="tagtype-0-header"> <option value="null">select one...</option> <option value="abstract">abstract</option> . . . </select> 

notice that, example, name has been set "tagtype-0-header", in onchange i'm getting

data:'tagtype=' + this.value +'&amp;i=${i}' 

also note when template used during create, substition happens client side, works expected. problem during edit, working server-side, ${i} isn't getting replaced within onchange event.

any ideas?

since you're inside of ${}, inner ${} going ignored. try out:

<g:select class='settagtypevalue-class'     name='tagtype-${i}-header'     from="${org.maflt.ibidem.tagtype.list(sort:'tagtype').groupby{it.tagtype}.keyset()}"     value="${settagtypevalue?.tagtype?.tagtype}"     noselection="${['null':'select one...']}"     onchange="${remotefunction(action:'options', update:'tagtype-options-' + i,                   params:'\'tagtype=\' + this.value +\'&i=' + + '\'' )}" /> 

Comments