开发场景中遇到这样的一个问题,在网上也找了一些结局方法,但不成功,于是自己写了一个笨一点的方法,算是一种方法,希望对遇到该开发场景的朋友有所帮助。
freemarker html代码:
<table style="100%" class="table01" cellspacing="1" cellpadding="5"> <#list customlist as culi> <tr> <td class="td_title" style="179px" align="center" nowrap="nowrap">${culi.custom}:</td> <td align="left" style="word-wrap:break-word;word-break:break-all;85%" colspan="3"> <#if culi.custom?index_of('完成状态')!=-1> <input name="${culi.vfg}" type="checkbox" value="1"/><span>按计划进行</span> <input name="${culi.vfg}" type="checkbox" value="2"/><span>进度顺利但有延误风险</span> <input name="${culi.vfg}" type="checkbox" value="3"/><span>延误</span> <!-- 这里需要回填CheckBox,我先把回填的值放着一个隐藏的input里面,然后在 function里面控制 --> <input type="hidden" id="makeSureCheck" value="${culi.conten}"/> <#else> <input id="${culi.vfg}" name="${culi.vfg}"class="zxui-textbox" type="text" style="600px;height:100px" value="${culi.conten}"> </#if> </td> </tr> </#list> </table>
js 根据隐藏input值回填CheckBox,当隐藏之大于0时,说明是回填值,因为数据库已对该字段保存否则显示无选择状态。
$(function(){ var makeSureCheck = $('#makeSureCheck').val(); makeSureCheck>0&&$('input:checkbox[value='+makeSureCheck+']').attr('checked','true'); }