在前端使用#()的时候,遇到#()无法进行拼接,比如说我在ajax的回调函数里需要这样
content+="<input type='text' name="+data[i].fieldName+" class='form-control' value=#(j?j."+data[i].fieldName+":'')>"
在value这里,#()中拼接一个从后台返回的json数据data[i].fieldName
但是每次执行就会后台报错如下
不知道如何解决,求助一下。。。。。
ajax部分的代码
$.post( ctx+"/admin/im/getFormList", //url function(data){ var content=""; for(var i =0;i<data.length;i++){ content+="<div class='form-group'>" content+="<label class='col-md-2 control-label' for='demo-text-input'>"+data[i].label+"</label>" content+="<div class='col-md-2'>" //content+="<input type='text' name="+data[i].fieldName+" class='form-control' value=''>" content+="<input type='text' name="+data[i].fieldName+" class='form-control' value=#(j?j.data[i].fieldName:'')>" content+="</div>" content+="</div>" } $("#editForm").prepend(content); }, "json" //数据格式 );
项目:JFinal
不在前端运行, 先搞清楚什么在前端运行, 哪些代码在后端运行. 不然全程懵逼状态.
报错的代码应该是这个: #(j?j."+data[i].fieldName+":'')
使用错误 , 建议先看下手册, 再使用jfinal模版 : http://www.jfinal.com/doc/6-4
以及你可能需要的是前端模版插件 : http://www.layui.com/doc/modules/laytpl.html