比如说我在js中var s1= "<%=CC(0)%>"; //取的是第一个值,cc(int i)是后台连接数据库取值的函数
var s2 = "<%=CC(1)%>"; //取的是第二个值这样的话后台添加一条数据就要在前台js中取一次值需要在 js 中使用 si 的值
我想一次都取出数据,怎么取呢,我试了用 "<%=CC(i)%>"取值是错的
var s2 = "<%=CC(1)%>"; //取的是第二个值这样的话后台添加一条数据就要在前台js中取一次值需要在 js 中使用 si 的值
我想一次都取出数据,怎么取呢,我试了用 "<%=CC(i)%>"取值是错的
<%
for(int i=0;i<len;i++){
out.print("eval(s"+i+")="+cc(i));
}
%>
</script>大概就这样吧。
在JSP中,用struts标签 <logic:iterate> 如果要在JS中的话,
也可以 var list = <%request.getAttribute("list")%> 取值~~
试一下把~
我现在是在一个页面中的,
实现的是一个甘特图,需要从数据库中把每条数据取出,一一插入甘特图中,使用
var startTime1 = "<%=ganttS(0,1)%>"; //ganttS(0,1)可以取出第一条数据的第一个参数
var endTime1 = "<%=ganttS(0,2)%>";
var projectName1 = "<%=ganttS(0,3)%>";
var leaderName1 = "<%=ganttS(0,4)%>";
var percentage1 = "<%=ganttS(0,5)%>";
var g = new Gantt(document.all.GanttChart);
g.AddTaskDetail(new Task(startTime1, endTime1, projectName1, leaderName1,percentage1));
可以插入一条数据,
如果有N条数据那不是很麻烦,而且数据库中插入一条数据也要在前台写一条进去,
现在不知道在JS中如何可以定义startTime ,endTime ,projectName ,leaderName ,percentage ,使得可以在ganttS()中传入两个参数,如ganttS(i,j),而不是固定的数,
这样就可以
g.AddTaskDetail(new Task(startTime, endTime, projectName, leaderName, percentage));
只写一句话了还是有另外的办法实现?
循环体
<%循环结束%>
循环体内可以添加写入JAVASCRIPT,
<%
for (int i=0;i<dt.Rows.Count;i++)
{
for (int j=0;j<dt.Columns.Count;j++)
{ %>
$(arr['<%=i+1 %>']['<%=j %>']).text('<%=dt.Rows[i][j].ToString() %>');
<% }
}
%>
//画个表头
<% for(int h=0;h<dt.Columns.Count;h++) { %>
$(arr[0]['<%=h %>']).text('<%= dt.Columns[h].ColumnName%>');
<% } %>
我用自己的方法成功了,在JS中用ArrayList 取值,然后用了个for循环就OK了。
原来的方法是在后台用Arraylist取值,然后再传到前台JS中,用这种方法在js中循环就很麻烦,没有试成功
结贴