jquery - Grails通过Groovy子句中的ID获取字段值

标签 jquery grails

我试图在表单中设置自动填充,因为每当id字段在表单中更改时,其他几个字段也会自动填充。我将jQuery用于on change事件。

这是id字段:

<g:field id="id" name="id" value="${this.myContoller?.id}"/>

这是我的jQuery函数:
$(document).ready(function(){
        $("#id").change(function(){
            $("#otherField").change("${info.getOtherField('#id')}")
        });
     });

信息是我用来提取该字段所需信息的taglib。我无法弄清楚如何将字段中的数据提取到jquery语句内的常规代码中。
我正在使用Grails 3。

最佳答案

就像Joshua Moore所说的那样,没有ajax调用就无法向服务器端调用。这是一种方法:

$(document).ready(function(){
  $("#id").change(function(){
    $.ajax({
        url: "${createLink(controller: 'myController', action: 'getTheOtherFieldValue')}",
        data: {
          'id' : $(this).val()
        },
        success: function(data, textStatus) {
          $("#otherField").change(data.theOtherFieldValue)    
        }
    });


  });
});

您的 Controller 看起来像
MyController {
...
  def getTheOtherFieldValue(String id ) {
    render(contentType: 'text/json') {
      theOtherFieldValue = getOtherField(id)
    }
  }
...
}

基本上,触发器使用#id值对服务器进行ajax调用,等待其返回,然后使用返回的值更新#otherField

关于jquery - Grails通过Groovy子句中的ID获取字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36141067/

相关文章:

javascript - Typeahead.js - 在多个属性值中搜索

java - Java/Groovy 中的 Base64 编码

Grails WAR 文件版本

Grails 从 View 调用 Controller 方法

postgresql - 如何使用 Grails 2.3.4 连接 postgres 数据库

unit-testing - 在 Grails 应用程序中,我应该将 Groovy 类的测试用例放在哪里?

javascript - 网页上的按钮将变为 'behind' 元素,无论 Z 索引如何,位置都定义为固定

javascript - 将数据元素添加到元素

javascript - jQuery.handlebars 模板不在动态 DOM 附加上呈现

jquery - 设置链接事件状态的问题