先看代码:
for (var i = 0; i < 4; i++)
{
alert(${userList[3].username});//可以得到值,如为张三
alert(${userList[i].username});//i为:0,1,2,3都得不到值,值均为空
}为何第二个得不到值呢?i不是为,0,1,2,3吗?而单独的直接写却可以得到,百思不解,请高人指教..
for (var i = 0; i < 4; i++)
{
alert(${userList[3].username});//可以得到值,如为张三
alert(${userList[i].username});//i为:0,1,2,3都得不到值,值均为空
}为何第二个得不到值呢?i不是为,0,1,2,3吗?而单独的直接写却可以得到,百思不解,请高人指教..
for (var i = 0; i < 4; i++)
{
(function(i){
alert(${userList[i].username});
})(i)
}
是你的EL绑定吧?
里面的i不是JS里的i...
先定义JS变量:var uesrList = new Array();
做个循环EL的循环(不知道你用哪一套实现.所以说不了.)循环这样句;
<script>userList.push({userList[i].username})</script>
此时循环的i是EL循环中的i
LZ可以这么做,在后台for(0-3),把userList[i].username放到一个String中,以逗号隔开
(比如:String userNames = "张三,李四,王五,小名";)
将这个String传到页面var userNames = ${userNames};
var userNameArr = userNames.split(",");
for(0-3){
alert(userNameArr[i]);
}
不知道除了你这样,js中,有没办法直接对List进行处理的呢?
或者你可以先用JAVA转换类转成JSON这样的形式.
再直接用EL表达式获取.
那么页面上夹杂的后台代码就没那么复杂.
for(var i=0;i<userList.length;i++){
alert(userList[i].username);
}