Jquery 无法将javascript变量用作Grails中的属性
这是一个javascript/jQuery函数。这里我从javascript访问grails会话变量Jquery 无法将javascript变量用作Grails中的属性,jquery,grails,gsp,Jquery,Grails,Gsp,这是一个javascript/jQuery函数。这里我从javascript访问grails会话变量 function changeContactPersonDetails(value){ alert(value) //alert(typeof(value)) $("#billingPersonName").val("${session.traineeDetais.name[" + value + "]}"); } 这里我想使用变量“value”的值作为索引。但这会
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]);
}
一种更简洁的方法是在控制器内计算/转换数组并将其传递给视图…dude,我不确定grails,但在jquery部分,您用双引号括住了${session.traineeDetais.name[“+value+”]},这可能是导致问题的原因,例如:如果您想在jquery中使用其他语言,如php,它将类似于$(“#billingPersonName”).val();获取此错误:由以下原因引起:org.codehaus.groovy.grails.web.taglib.exceptions.grailstageexception:在第[7]行执行标记时出错:计算表达式[session.traineeDetais.name as grails.converters.JSON]:无法使用类强制转换对象“[Ljava.lang.String;”@1c42b98”[Ljava.lang.String;'to类'grails.converters.JSON',原因是:groovy.lang.GroovyRuntimeException:找不到与:grails.converters.J SON(java.lang.String,java.lang.String)匹配的构造函数与其在视图中创建dataFromServer JSON,不如在动作中创建JSON数组,并将其作为模型中的变量传递-只是为了分离逻辑和布局…编辑注释并替换为另一个问题是没有意义的…我不知道您在会话中保存的内容类型n、 我假设
session.traineeDetais.name
是一个数组。它看起来只是一个字符串而不是数组。首先检查变量。给定的代码只是一个示例。您必须找出如何适应您的特定用例或提供更多细节。