0
我試圖在我的應用程序上處理一對多的表單映射。Grails使用gsp片段作爲javascript函數的html模板
根據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>
我的標籤庫中我使用的是片段的產生與此命令的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>";
有人有一個想法如何完成此任務?
感謝諮詢
盧卡
是的,當然使用javascript字符串替換它是一種方式,但是如果有更好的方法可以做到這一點會更好 –