在一个编辑功能里,把数据库里的集合信息输出到前台页面展示,我们通常会使用<c:foreach>
遍历输出。如何在<c:foreach>
里调用js代码呢?
我是这样实现的。
场景介绍:
遍历输出的各个任务的阶段信息,效果图如下:
代码是这样的:
<c:forEach var="stage" items="${task.stages }">
<div style="margin: 20px 0 0 20px;">
<label class="Validform_label">第${stage.STAGE_SORT }阶段:</label>
<textarea rows="5" cols="30" class="stage_content" style="width: 70%;vertical-align: top" placeholder="请输入阶段任务描述">${stage.STAGE_CONTENT }</textarea>
</div>
...其他省略
</c:forEach>
功能需求,让数字转换成汉子,如第一阶段,第二阶段,js已经编写好,关键的问题是如何调用!!!
<script type="text/javascript">
function showChinessNum(num){
$('#stage'+num).html(SectionToChinese(num));
}
</script>
<c:forEach var="stage" items="${task.stages }">
<div style="margin: 20px 0 0 20px;">
<label class="Validform_label">第<span id="stage${stage.STAGE_SORT }"><script type="text/javascript">showChinessNum('${stage.STAGE_SORT }');</script></span>阶段:
</label>
<textarea rows="5" cols="30" class="stage_content" style="width: 70%;vertical-align: top" placeholder="请输入阶段任务描述">${stage.STAGE_CONTENT }</textarea>
</div>
...其他省略
</c:forEach>
在第XX阶段中间插入一个span标签,span标签里嵌套一个script标签,里面执行我们编写好的js,脚本的功能是给对应的span标签赋值。
<span id="stage${stage.STAGE_SORT }"><script type="text/javascript">showChinessNum('${stage.STAGE_SORT }');</script></span>
<script type="text/javascript">
function showChinessNum(num){
$('#stage'+num).html(SectionToChinese(num));
}
</script>