$ {var} не заменяется в событии Select onchange - PullRequest
1 голос
/ 29 апреля 2011

У меня есть следующий выбор в шаблоне, который я отображаю, передавая 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 +'&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>

Обратите внимание, что, например, для имени установлено значение "tagtype-0-header", но в onchange я получаю

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

Также обратите внимание, что когда этот шаблон используется во время Create, где подстановка происходит на стороне клиента, все работает как положено. Поэтому единственная проблема заключается в том, что во время редактирования, работающего на стороне сервера, $ {i} не заменяется в событии onchange.

Есть идеи?

1 Ответ

1 голос
/ 29 апреля 2011

Поскольку вы уже находитесь внутри ${}, внутренний ${} будет игнорироваться. Попробуйте это:

<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 + '\'' )}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...