使用来自javascript变量的索引访问播放模板列表项
我不熟悉playframework和web编程,所以混合使用play变量、javascript和html对我来说仍然有点困惑 在我的例子中,我有一个对象列表使用来自javascript变量的索引访问播放模板列表项,javascript,playframework,playframework-2.2,Javascript,Playframework,Playframework 2.2,我不熟悉playframework和web编程,所以混合使用play变量、javascript和html对我来说仍然有点困惑 在我的例子中,我有一个对象列表alarms:list[Alarm]来自视图的控制器,我想访问列表中的一个项目,但假设该项目的索引来自javascript函数。这可能吗 我尝试了下面的代码,但play的编译器不理解@{alarms(index).Patient.name}中的索引值。有办法吗?或者这是不可能的,因为列表对象只是在页面创建过程中使用的,以后javascript
alarms:list[Alarm]
来自视图的控制器,我想访问列表中的一个项目,但假设该项目的索引
来自javascript函数。这可能吗
我尝试了下面的代码,但play的编译器不理解@{alarms(index).Patient.name}
中的索引值。有办法吗?或者这是不可能的,因为列表对象只是在页面创建过程中使用的,以后javascript无法以动态方式访问它
@(alarms: List[Alarm], alarmForm: Form[Alarm])
@import helper._
@main("Alarm list") {
<script id="showInfoScript" language="javascript" type="text/javascript">
function showInfoFromAlarm(index) {
$("#patientName").text(@{alarms(index).Patient.name});
};
</script>
@(报警:列表[报警],报警形式:形式[报警])
@导入助手_
@主(“报警列表”){
功能showInfoFromAlarm(索引){
$(“#patientName”).text(@{alarms(index.Patient.name});
};
这是不可能的,因为索引的值将在客户端解析,报警的值仅在生成要发送给客户端的HTML
响应时可用
您应该做的是将alarms().Patient.name
下的值也发送到客户端,并从那里使用JavaScript。Id实际上需要访问整个对象(及其子对象)在javascript函数中。似乎标准的方法是发送一个json对象,但当我尝试简单地执行@json.toJson(alarm)
时,我得到一个错误,即没有序列化程序,Id需要“实现此类型的隐式写入或格式”。您是否碰巧知道传递对象的最简单方式是什么?是的,这很正常,请阅读更多有关此主题的信息。您知道我如何使用java实现这一点吗?我刚刚在scala中找到了序列化的解决方案。不,对不起,我从未使用java实现这些功能。您的报警类有多复杂?请确保您使用的是play、 如果您的项目是基于Java的,则libs.Json
而不是Scala版本。