【发布时间】:2009-11-09 17:54:52
【问题描述】:
在我看来,我使用的是 g:select(实际上是 g:currencySelect)。
我希望在用户更改结果选择框中的值后立即触发控制器操作。
我该怎么做?
【问题讨论】:
标签: grails controller
在我看来,我使用的是 g:select(实际上是 g:currencySelect)。
我希望在用户更改结果选择框中的值后立即触发控制器操作。
我该怎么做?
【问题讨论】:
标签: grails controller
我想我在这里回答了我自己的问题,但如果有更好的方法,请告诉我:
在 select 标签中使用 onchange javascript 函数:
<g:form controller="changeCurrency" action="changeCurrency">
<g:select onchange="submit()"/>
</g:form>
【讨论】:
另一种方式可以是:
<g:select name="someName" from="${list}" onchange="goToPage(this.value)"/>
<script type="text/javascript">
function goToPage(requestParams){
window.location.href="${createLink(controller:'controllerName' ,action:'actionName' ,params:[paramsName:""])}" + requestParams;
}
</script>
【讨论】:
如果你想要一个 ajax 请求,试试这个:
<g:select name="type" from="${['import-a', 'import-b']}"
onchange="jQuery('#addArea').load('/app/import/chooseImportType/' +
jQuery('#type').val())"/>
在控制器中:
def chooseImportType (){
render params.id
}
在 Grails 2.0.4 中工作
【讨论】: