Grails:如何创建一个g:textfield来加载一些数据并在其他g:textfield中显示它?

Grails:如何创建一个g:textfield来加载一些数据并在其他g:textfield中显示它?,grails,textfield,Grails,Textfield,我有两个g:textfields 在第一个字段中,我应该写一个数字,比如说12,然后在它旁边的g:text字段中,它应该加载数字12的预定名称 第一个名为“shipper”,另一个名为“shipperName” 每当我在“shipper”TXT字段中写入代码12时,它都应该在“shipperName”框中返回发货人的名称 提前谢谢 示例: 如果我写12号,它应该返回USPS 每个号码都应该有不同的“shipperName” 再次感谢 如果您使用jQuery,那么这很容易。查看事件处理程序(

我有两个g:textfields 在第一个字段中,我应该写一个数字,比如说12,然后在它旁边的g:text字段中,它应该加载数字12的预定名称

第一个名为“shipper”,另一个名为“shipperName” 每当我在“shipper”TXT字段中写入代码12时,它都应该在“shipperName”框中返回发货人的名称

提前谢谢

示例:

如果我写12号,它应该返回USPS

每个号码都应该有不同的“shipperName”


再次感谢

如果您使用jQuery,那么这很容易。查看事件处理程序(“模糊”是用户离开数字框时发生的事件)

例如:

$("#shipper").blur(function() { 
    $("#shipperName").load(
        "${createLink(controller: 'shipper', action: 'resolveShipper')}?id=" +
        $("#shipper").val()
    );
});
末尾的$(this).val()是用户刚刚离开的输入字段的值

“ShipperController.resolveShipper”操作将如下所示:

def resolveShipper = {
    render text: Shipper.get(params.id).name, contentType: "text/plain"
}

您可能还想做其他事情,比如在用户键入时自动填充shipperName字段,而不离开编辑字段,可能需要一段时间。但是,事件处理程序保持不变,只是事件正在发生变化(从“模糊”变为“更改”或类似的情况)

如果使用jQuery,这非常容易。查看事件处理程序(“模糊”是用户离开数字框时发生的事件)

例如:

$("#shipper").blur(function() { 
    $("#shipperName").load(
        "${createLink(controller: 'shipper', action: 'resolveShipper')}?id=" +
        $("#shipper").val()
    );
});
末尾的$(this).val()是用户刚刚离开的输入字段的值

“ShipperController.resolveShipper”操作将如下所示:

def resolveShipper = {
    render text: Shipper.get(params.id).name, contentType: "text/plain"
}

您可能还想做其他事情,比如在用户键入时自动填充shipperName字段,而不离开编辑字段,可能需要一段时间。但是,事件处理程序保持不变,只是事件正在发生变化(从“模糊”变为“更改”或类似的情况)

要关联两个字符串,最简单的方法是使用对象创建字典/映射,如下所示

$('#input1').bind('keyup',function() {
     var map = {
         "1":"One",
         "2":"Fish",
         "3":"Bar"
     };

     $('#input2').val(map[$(this).val()]);
});
您可以在此处看到这一点:


如果您只想在用户完成第一个输入字段的输入后更新第二个值,请将“keyup”更改为“change”。

要关联两个字符串,最简单的方法是使用对象创建字典/地图,如下所示

$('#input1').bind('keyup',function() {
     var map = {
         "1":"One",
         "2":"Fish",
         "3":"Bar"
     };

     $('#input2').val(map[$(this).val()]);
});
您可以在此处看到这一点:


如果您只想在用户完成第一个输入字段的输入后更新第二个值,请将“keyup”更改为“change”。

如何让jQuery工作??我应该下载jQuery插件吗?为了让它发挥作用,您只需将它包含在页面顶部,就可以了。查看jQuery文档了解更多信息。所以我根本不需要安装jQuery??只要写在上面,我就可以了。我在哪里申报托运人的某些名字??我会用一些图片更新这个问题,让一切都清楚。安装Jquery插件并查看它的使用文档。我如何让Jquery工作??我应该下载jQuery插件吗?为了让它发挥作用,您只需将它包含在页面顶部,就可以了。查看jQuery文档了解更多信息。所以我根本不需要安装jQuery??只要写在上面,我就可以了。我在哪里申报托运人的某些名字??我会用一些图片更新这个问题,让一切都清楚。安装Jquery插件并查看它的使用文档。