日期:2014-05-17  浏览次数:20826 次

在线求解决,js arrayList
想在三个div里自动插入div,但是结果插入的都是abList的最后一条,结果是一样的标签


$(function() {
<% for(int i=0;i<abList.size();i++){ %>
<% AbilityBean ab=new AbilityBean();
ab=abList.get(i);
//System.out.println(ab.getPosition());
%>
<%if(i%3==0) {%>
$("#dom0").append(retHtml());
<% } %>
<%if(i%3==1) {%>
$("#dom1").append(retHtml());
<% } %>
<%if(i%3==2) {%>
$("#dom2").append(retHtml());
<% } %>
function retHtml() {
<%System.out.println(i+","+ab.getPosition());%>
var str="<div id='Layer<%=ab.getAbilityID()%>' style='border: 1px solid #F00; margin-top:10px;'><p class='Nums'>标签预览:<a href='CAMCl?type=delete4&ID=<%=ab.getAbilityID() %>&selStuID=<%=ab.getStudentID() %>'><img src='Style/Default/images/close.gif' alt='关闭'/></a></p>"
+"<p class='Detail'><img src='<%=ab.getShowStyle()%>' alt='默认' width='50' height='50' id='IconImg'>"
+"<span class='Head' id='AuthorNeames'><%=ab.getPosition()%></span><br><span class='Head' id='AuthorRes'><%=ab.getRole()%></span><br><span class='AreaText' id='AuthorRole'></span><br><span id='AuthorScore' class='AreaText'></span><br>"
+"<span id='AreaText' class='AreaText'><%=ab.getRemarks()%></span></p>"
+"<p class='Date'><%=ab.getUpDate()%></p>"
+"</div>";
return str;
}
<%}%>
})

------解决方案--------------------
jsp页面在执行时,先解析java代码,执行,然后是html/js。所以LZ只能看到最后一条。
修改方法
function retHtml() 方法里面把用到的java变量值,采用传参数的方法。在上面的if语句里面调用。如

function retHtml( abilityID,studentID,...)