gpt4 book ai didi

jquery - 无法在 Grails 中使用 javascript 变量作为属性

转载 作者:行者123 更新时间:2023-12-01 08:02:59 26 4
gpt4 key购买 nike

这是一个 javascript/jQuery 函数。这里我从 javascript 访问 grails session 变量

 function changeContactPersonDetails(value){
alert(value)
//alert(typeof(value))
$("#billingPersonName").val("${session.traineeDetais.name[" + value + "]}");
}

这里我想使用变量“value”的值作为索引。但它给出了错误

 Caused by: groovy.lang.MissingPropertyException: Exception evaluating property ' + value + ' for java.util.Arrays$ArrayList, Reason: groovy.lang.MissingPropertyException: No such property:  + value +  for class: java.lang.String
at E__Workspace_opaltpm_grails_app_views_trainingOrder__billingDetailsTemplate_gsp$_run_closure1.doCall(E__Workspace_opaltpm_grails_app_views_trainingOrder__billingDetailsTemplate_gsp:15)

最佳答案

您正在混合服务器端和客户端代码。

变量value是(客户端)jquery函数的参数。

下面的代码${session.traineeDetais.name["+ value + "]}由grails(服务器端)执行,其中变量value未知。

您必须将数组传递给客户端,以便您可以在 jquery 函数中访问它。

使用 JSON 传递数据,如下所示:

var dataFromServer =  ${session.traineeDetais.name as grails.converters.JSON}

function changeContactPersonDetails(value){
alert(value)
$("#billingPersonName").val(dataFromServer[value]);
}

更简洁的方法是在 Controller 内计算/转换数组并将其传递给 View ......

关于jquery - 无法在 Grails 中使用 javascript 变量作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com