这个问题其实很简单,但是有时候不注意的话,还真是挺无奈的。
在一个div中画出其他的html代码,如下:
<select id='tempSiblingSelect' style="width: 150px;" class="margin-left-right-15">
</select>
js代码:
var siblingString = new StringBuffer();
siblingString.append("<option value=\"\">Select a Sibling</option>");
<c:forEach items="${students}" var="student">
if('${student.uid ne studentForm.user.uid and student.isActive}'){
<c:set var="nameLength" value="${18- fn:length(student.studentID)/2 }" />
<c:if test="${nameLength <= 0}">
<c:set var="nameLength" value="5"/>
</c:if>
siblingString.append("<option value=\"<c:out value='${student.uid}'/>##<c:out value='${student.studentID}'/>##<c:out value='${student.lastName}'/>##<c:out value='${student.firstName}'/>\">");
siblingString.append(truncateString('${student.studentID}','${nameLength}')+",");
siblingString.append(truncateString('${student.lastName}','10')+",");
siblingString.append(truncateString('${student.firstName}','10'));
siblingString.append("</option>");
}
</c:forEach>
$("#tempSiblingSelect").html(siblingString.toString());
之前一直用$("#tempSiblingSelect").append(siblingString.toString());要显示的地方一直不显示。一直觉得不可能,最后才想到html().是不是很笨。