$(document).ready(function(){
var url ="${ctx}/ajaxAction.do?method=json&common=queryAllFile&classes=testServiceImpl";
var options = {
url: url,
success: callback,
type: 'post',
dataType: 'json',
clearForm: true
};
$("#init").ajaxSubmit(options);
});
function callback(data){
var fileName = "";
$.each(data.list, function(i, item) {
var file = "";
if(item.f_filename.length>15){
file = item.f_filename.substring(0,15)+"...";
}else{
file =item.f_filename;
}
fileName = fileName+
"<tr>"+
"<td><a class=\"blue-word\">"+file+"</a></td>"+
"<td>"+item.f_create_time+"</td>"+
"<td>"+item.t_train_name+"</td>"+
"</tr>"
});
$("#uploadBtn").append(
"<div class=\"content-header\" align=\"right\";><a href=\"javascript:history.back();\"><<返回</a></div>"+
"<div class=\"part-header\" style=\" margin-top:0px; margin-bottom:5px;\"> 我的文档<span style=\"color:#0085d0; margin-left:5px;\" id = \"number\"></span></div>"+
"<div class=\"content-part\">"+
"<div class=\"itemw-box\">"+
"<table cellpadding=\"0\" cellspacing=\"0\" class=\"personal-tab\" id = \"testing\">"+
"<tr>"+
"<th style=\"width:50%\">文档名称</th>"+
"<th style=\"width:20%\">上传时间</th>"+
"<th style=\"width:30%\">关联培训</th>"+
"</tr>"+fileName+"</table>"+
"</div>"+
"</div>"
);
if(data.list.length<20){
$("#loadmore").html("");
}else{
$("#loadmore").html("加载更多");
}
}
$(document).ready(function(){
var url1 ="${ctx}/ajaxAction.do?method=json&common=queryFileAmount&classes=testServiceImpl";
var option1 = {
url: url1,
success: callback3,
type: 'post',
dataType: 'json',
clearForm: true
};
$("#init").ajaxSubmit(option1);
});
function callback3(data){
var number = "";
$.each(data, function(i, item) {
alert(item);
number = number+item;
});
alert(number);
alert(111);
$("#number").append(
"("+number+")"
);
}
第二个文档就绪函数会执行,而且alert的数据也都能弹出来,但为什么我追加到页面中的数据有时候能显示出来,有时候却显示不出来呢,这跟什么有关系
因为你的number是在ajax回调中动态添加的,而ajax请求是异步的时候是无法控制ajax返回的先后循序的,要是第一个ajax先返回就没有问题,因为你的number对象已经生成
要是第二个先返回就无法显示了,因为number这个dom对象还没有生成
你要一定显示数据,应该将第二个$(document).ready(function(){里面的代码放到callback回调最后执行
Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。
1.执行时间
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。
2.编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个
$(document).ready()可以同时编写多个,并且都可以得到执行
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});
http://www.jb51.net/article/21628.htm
http://www.cnblogs.com/mengdd/p/4276801.html
第二个文档就绪函数会执行 ~~
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
追加到页面中的数据有时候能显示出来,有时候却显示不出来
1、ajax请求有没有数据返回
2、如果有数据返回,是不是加载数据的DOM还没有加载出来呢
你可以在callback3 加个debugger 调试下也许就知道原因了