1 function yflib_roomList(tpl) {
2 var target = $(".roomList > li");
3 var _this = null;
4 $(".roomList > li").each(function(i, item) {
5 _this = $(this);
6 var _CloudID = _this.attr("CloudID");
7 getRoomDetailByID(_this, _CloudID, onDataRecieved);
8 });
9 function onDataRecieved(ret) {
10 var data = ret.data;
11 var html = tpl;
12 //遍历数据集,替换模板中相应的数据项
13 $.each(data, function(key, value) {
14 var re = new RegExp("{{\\s*data\\." + key + "\\s*}}", "g"); // \ 在双引号里面需要转义
15 //var re = new RegExp("{{data\\.CloudID}}","g"); // \ 在双引号里面需要转义
16 html = html.replace(re, value);
17 });
18 $(this).append(html);
19 }
20 }
1 function getRoomDetailByID(context, CloudID, callback) {
2 var url = "?s=Api/getRoomDetailByID";
3 $.ajax({
4 context: context, //传入上下文变量
5 url: url,
6 data: {"CloudID": CloudID},
7 dataType: "json",
8 success: callback,
9 error: function(xhr, status) {
10 $("#rs").html("return:<br />" + xhr.responseText);
11 }
12 });
13 }
在ajax传入了context后,在回调函数里面使用$(this)即可以获得上下文对象,例如object