项目中jquery从后台取得list,是怎么遍历出来的?
一般情况下,后台的list应该是转成了json字符串,返回到了ajax的回调函数里。在回调函数里可以直接操作该json字符串。
举个例子:
$.post("test.php", { name: "John", time: "2pm" },function(data){
//可以在这儿循环,比如:
var listNow=data.listHouTai;//取list。listHouTai是你后台定义的json名称
for ( var i = 0; i < listNow.length; i++) {
var id = vos[i].Id;//可以取list中第一个对象的id值,其他的类推
}
});可以来一个jQuery自定义数组操作类js外部文件,前提需要引入jQuery类库。封装类代码如下:
(function ($) {
$.List = function () {
var _list = new Array();
//外部为数组赋值
this.GetDataSource = function (arr) {
if (IsArrayType(arr)) {
_list = arr;
} else {
alert("指定元素非数组类型,赋值失败!");
}
};
//添加一个元素
this.Add = function (arg) {
if (arg) {
_list.push(arg);
} else {
alert("参数错误,添加元素失败!");
}
return _list;
};
//删除指定索引的元素
this.RemoveAt = function (index) {
if (IsArrayIndex(index) && index < _list.length) {
var i;
var arr = new Array();
for (i = 0; i < _list.length; i++) {
if (i != index) {
arr.push(_list[i]);
}
}
_list = arr;
return _list;
}
else {
alert("未获取到设置对象的实例,删除元素失败!");
}
};
//按照指定的分割符显示出所有元素
this.Split = function (arg) {
arg = arg || ",";
var i, res;
res = "";
if (_list.length > 0) {
for (i = 0; i < _list.length; i++) {
res += _list[i].toString() + arg;
}
return res.substr(0, (res.length - arg.toString().length));
} else {
return "";
}
};
//外部调用直接返回当前数组实力
this.ToArray = function () {
return _list;
};
//设置指定索引处的值为指定值
this.Update = function (index, value) {
if (IsArrayIndex(index) && index < _list.length) {
_list[index] = value;
}
return _list;
};
//清空所有元素
this.RemoveAll = function () {
_list.splice(0, _list.length);
return _list;
};
//根据传入的值获取第一次出现在数组中的下标
this.IndexOf = function (value) {
if (value) {
var i;
for (i = 0; i < _list.length; i++) {
if (_list[i] == value) {
return i;
}
}
}
return -1;
};
//获取数组长度
this.Size = function () {
return _list.length;
};
//移除数组中重复的项
this.RemoveRepeat = function () {
_list.sort();
var rs = [];
var cr = false;
for (var i = 0; i < _list.length; i++) {
if (!cr)
cr = _list[i];
else if (cr == _list[i])
rs[rs.length] = i;
else
cr = _list[i];
}
for (var i = rs.length - 1; i >= 0; i--)
this.RemoveAt(rs[i]);
return _list;
};
//对数字数组元素排序,参数:0升序1降序
this.SortNumber = function (f) {
if (!f) f = 0;
if (f == 1) return _list.sort(function (a, b) { return b - a; });
return _list.sort(function (a, b) { return a - b; });
};
//私有方法
//判断正确的数组下标
function IsArrayIndex(index) {
var reg = /^\d+$/;
if (reg.test(index))
return true;
else
return false;
}
//判断当前对象是否为数组对象
function IsArrayType(arr) {
if (typeof arr == 'object' && typeof arr.length == 'number')
return true;
else
return false;
}
}; //结束List的构造方法
})(jquery);页面调用时需要引入两个js文件:
对象语法JSON数据格式(当服务器端回调回来的对象数据格式是json数据格式,必须保证JSON的格式要求,回调的对象必须使用eval函数进行转化(否则将得不到Object)。本文不作详细介绍服务器端回调的数据问题,我们将直接自定义对象)
1.jquery遍历对象
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >New Document < /TITLE>
| 用户名 < /th> | 密码 |
|---|
2.jQuery遍历数组
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >New Document < /TITLE> ------------此部分同1中的body部分-------------------- 3.jQuery 遍历List集合(其实与遍历一个对象没有太大区别,只是格式上的问题) < HTML >New Document < /TITLE> ------------此部分同1中的body部分--------------------
