У меня есть следующий выбор в шаблоне, который я отображаю, передавая i в модели. $ {i} get заменяется значением i, как и ожидалось в большинстве мест. Но $ {i} не заменяется в событии onchange.
Итак,
<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}\'' )}" />
отображается как:
<select name="tagtype-0-header" onchange="jQuery.ajax({type:'POST',data:'tagtype=' + this.value +'&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>
Обратите внимание, что, например, для имени установлено значение "tagtype-0-header", но в onchange я получаю
data:'tagtype=' + this.value +'&i=${i}'
Также обратите внимание, что когда этот шаблон используется во время Create, где подстановка происходит на стороне клиента, все работает как положено. Поэтому единственная проблема заключается в том, что во время редактирования, работающего на стороне сервера, $ {i} не заменяется в событии onchange.
Есть идеи?