我必须根据我在另一个下拉列表中选择的值动态加载一组值。
在控制器中,我有以下代码,
def ajaxGetCities(params){
println params.id
def userCustPlantDetails = utilitySummaryService.fetchUserCustPlantDetails('PHILL00')
def data = []
userCustPlantDetails?.get('UserPlantList').collect{
data << it.pwr_plt_nme
}
[data: data]
}
在普惠制中,我有:
<g:select class="btn btn-default" name="viewValue" from="${view}" onchange="${remoteFunction(
action:'ajaxGetCities',
params:'\'id=\' + escape(this.value)',
onSuccess :'updateCity(data)')}"></g:select>
当我更改下拉列表的值时,我看到触发器和控制器操作被调用。发布 Javascript(JQuery) updateCity 运行良好。我将脚本放在同一个 .gsp 文件中。如果我将此脚本移动到 proj 文件夹中的外部文件(在 assets/javascript 下)。页面未正确呈现。我的意思是很少有组件没有被渲染。我将外部文件引用放在标签之前,还尝试将 GSP 的所有内容放在前面。如果没有上面提到的 javascript,文件中的所有其他脚本在引用文件的任何地方都运行良好。当我将 javascript 从 GSP 移动到 index.js 时。这个问题正在发生。