<input type="hidden" name="hour" value="${sessionScope.hour_points}"/>
$.each($('input[name=hour]'),function(info, item)
{
$.each(item,function(name,val){
alert(name); //弹出的name是一些奇怪的字符,什么wekitEntries
});
});
我这样做是不是不行?
是没有把value还原成对象数组?
<input type="button" name="hour" value="${sessionScope.hour_points[0].event_id}"/>
这样是能够显示出id值的button的。
<input type="button" name="hour" value="${sessionScope.hour_points[0].points[0].point}"/>
这样也能输出point值的button的
但是jquery或js到底怎么写才能把这些后台传来的数据遍历呢?
第一次提问,不知道自己表述清不清楚,求大神指导!
后台的数据,转成json格式的数据,如果是集合,直接循环遍历,在放到hidden中就行了
嗯,是集合,能否前台遍历解析呢?
@PiLee: 可以遍历啊!
1、通过JavaScriptSerializer(.net 3.5自带的,还可以用json.net等组件)将集合转为json格式数据,传递到前台,前台通过javascript遍历解析,配合ajax挺好的
2.aspx.cs定义一个公共变量接收接收集合,aspx页面循环遍历
方式有多种(只说了两种),看你用那种,按自己需求的来找适合的
@秋壶冰月: 由于数据量大,不能用hidden传值了,还是转换成json用ajax了
其它你打开页面,但看源代码,你就知道value字符串是什么个样子,你就懂了。
嗯,是一长串字符有乱码也有设的List名字
@PiLee: 那说明你的赋 值就是有问题的。要么用jsp语言,把集合的值记遍历一下,要不用字符串拼接成js能识别的东东,比如var array = [2,3,4];
value不识别你的后台数据对象,你需要将后台数据对象sessionScope.hour_points转换为字符串格式,如Json。然后前台才可以解析。否则的话,会取sessionScope.hour_points.toString()的值。
还有,这个不叫乱码(一般我们对编码产生的怪异字符才叫乱码),注意分清楚。
谢谢,明白了