javascript - Grails 使用 gsp 片段作为 javascript 函数的 html 模板

标签 javascript grails gsp

我试图在我的应用程序上处理一对多的表单映射。

根据this post我创建了类似的代码:但是,我不想将我的 html 放在 javascript 中,并且我想让一些东西可重用,所以我创建了一个小的 taglib 来处理一对多关联。
此标记库接受表示输入字段行的 gsp 片段路径作为输入,如下所示:

<div class="form-group">
<div class="row row-product-option-values">
    <div class="col-md-3 col-sm-3">
        <g:textField name="product.options[<index>].name" class="form-control"></g:textField>
    </div>

    <div class="col-md-8 col-sm-8">
        <g:textField name="product.options[<index>].values" class="form-control"></g:textField>
    </div>
    <div class="col-md-1 col-sm-1">
        <a class="btn btn-link" type="button">
            <i class="fa fa-remove"></i>
        </a>
    </div>
</div>

在我的 taglib 中,我使用该片段通过以下命令生成 javascript html 模板:
render(template: templatePath).replaceAll('\n', '').encodeAsJavaScript();

现在是困难的部分:我需要用一个 js 变量替换,每次我添加一个新的输入行时我都可以增加它,但我不知道该怎么做。在该过程结束时,我需要一个类似于此的字符串
"<div class=\"form-group\"> <div class=\"row row-product-option-values\"> <div class=\"col-md-3 col-sm-3\"> <input type=\"text\" name=\"product.options[" + childCount +"].name\" class=\"form-control\" value=\"\" id=\"product.options[0].name\" /> </div> <div class=\"col-md-8 col-sm-8\"> <input type=\"text\" name=\"product.options[0].values\" class=\"form-control\" value=\"\" id=\"product.options["+ childCount +"].values\" /> </div> <div class=\"col-md-1 col-sm-1\"> <a class=\"btn btn-link\" type=\"button\"> <i class=\"fa fa-remove\"></i> </a> </div> </div></div>";

有人知道如何完成这项任务吗?

谢谢指教

卢卡

最佳答案

  • 使用 AJAX:

  • 每当您添加新行时,使用所需的输入对 Controller 进行 ajax 调用,并从那里渲染所需的模板。
    现在使用结果更新/附加您现有的父 div。
  • 使用 JavaScript

  • 在初始化期间,将模板中的 html 存储到 javascript 变量中。每当您添加新行时,请将占位符索引替换为当前行号。

    关于javascript - Grails 使用 gsp 片段作为 javascript 函数的 html 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221963/

    相关文章:

    grails - Grails-Gsp如何使复选框组仅选择三个复选框中的一个

    javascript - 检测页面中的所有iframe是否都有src

    grails - Grails在Liferay上进行portlet分页

    grails - Grails 2应用程序的初始数据加载

    grails - Groovy LDAP搜索请求

    grails - Grails gsp : Is there a way to abort once your render a gsp page?

    javascript - meteor JS : Client not getting data from Mongo DB

    javascript - 如何让滚动条出现?

    javascript - 动态改变按钮的颜色

    grails - 从gsp访问模型变量