admin 管理员组文章数量: 887016
freemarker
有一个需求是:在table中添加一个行,然后获取该行有一个隐藏的input,是自增的,所以获取当前的后台传递的list集合的size然后加一,一般就是js的增加子节点的操作,以前都是拼接字符串然后往里面新增变量,还一种前端的写法是使用模板字符串,但是跟目前的freemaker中${}冲突
模板字符串:
// 普通字符串
`In JavaScript '\n' is a line-feed.`// 多行字符串
`In JavaScript this is
not legal.`// 字符串中嵌入变量
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?` // Hello Bob, how are you today?
${}获取的时候会出现为空异常,它会获取后台传递过来的值,但是后台没有这个值,冲突无法解决
这样只能拼接字符串,拼接字符串比较麻烦,所以想到一个取巧的方法
首先一个字符串、然后将里面的变量替换,然后在编译该字符串,测试正常
代码如下:
// 增加$('.add').click(function(){ var trsize = $(".uptable>tbody").children("tr").length-1;
// alert(trsize);$('.uptable input').attr("disabled",false) $('#editluck').text('保存')var index =Number($(this).context.getAttribute('id'))+1;
// alert(index)if(trsize == index){var str = '<tr class=""><td><input type="text" value="index" style="display:none"/>'+'</td><td><span>彩金数字index:</span><input type="text" value=""/></td>'+'<td><span>奖励金额:</span><input type="text" value=""/></td></tr>'var newstr = str.replace('index',index).replace('index',index);// alert(index);// alert(newstr);$('.btns').before(newstr);}else{layui.use('layer', function(){var layer = layui.layer; layer.alert('请先保存!', {icon: 1});}); }})
目前测试正常,可能投机取巧了,只是放上来记录一下。
本文标签: freemarker
版权声明:本文标题:freemarker 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686658406h21386.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论