jquery - 从gsp中的 Controller 传递的对象列表中获取特定元素

标签 jquery grails

我将带有 Controller 的对象列表传递给具有模型的gsp,如下所示

model: [ houses: houses]

我想在jquery中设置,每当houseId的输入值更改时,houseName的输入值将根据houseId更改为特定房屋的名称。下面是代码:
$( "#houseId" ).change(function() {
    $('#houseName').attr('value', '${houses[0].houseName}');
});`

如您所见,houses[0]中的'0'应该是houseId,但是我不知道如何将houseId放入其中。谁能给我启发?谢谢!

最佳答案

一种更好的方法是将houses列表作为JSON数组发送并使用JavaScript对其进行解析。

在您的操作中:

import grails.converters.JSON
....
model: [ houses: houses as JSON]

所以你有这样的事情:
[  
   {  
      "id":1,
      "name":"House 1"
   },
   {  
      "id":2,
      "name":"House 2"
   }
]

在您的JS中:
var houses = JSON.parse(${houses});
$( "#houseId" ).change(function() {
    var index = $('#houseId').val();
    $('#houseName').attr('value', houses[index].name);
});

关于jquery - 从gsp中的 Controller 传递的对象列表中获取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40447809/

相关文章:

javascript - 如何正确使用setInterval()? - jQuery

jquery - 点击加载更多目标接下来的三个 sibling 然后接下来的三个 sibling ,不使用循环

tomcat - 如何部署grails项目

grails - 使用Grails组合安全访问约束

javascript - 为什么 jquery 选择器不适用于新替换的标签?

javascript - 等待结果时的动画

Grails 3 排除 Spring Boot 自动配置

grails - Grails-控制数据库列的顺序

javascript - 正则表达式选择相邻的模式匹配项作为单个项

grails - grails codenarc “Error Script not found: Codenarc”