<ul id="shopping_list"></ul>
<div id="shopping_list_pre"></div>
<div id="shopping_list_counter"></div>
<script type="text/javascript">
var flag=0;
var i=0;
var title;
$.ajax({
url: "showNewsAction.action",
type:'jsonp',
success: function(msg){
for(i=0;i<msg.toString().length;i++){
$("#shopping_list").append("<li><a href="+"http://localhost:8080/HCF/showNews.jsp?id="
+msg.news[i].id
+">"
+i
+msg.news[i].id
+msg.news[i].title
+msg.news[i].author
+msg.news[i].date.toString()
+"</a></li>");
}
}
});
</script><script type="text/javascript">
//第二段javascript代码
$("#shopping_list li").quickpaginate({ perpage:10, pager : $("#shopping_list_counter") });
</script>
问题是这样的,这是一个分页的插件。
正常的,应该是ajax请求回来的数据填充到页面上之后,再调用第二段javascript代码,产生分页的那些按钮。可是现在javascript的执行顺序是这样的,先执行了第二段代码,可是呢,#shopping_list li 这个选择器jquery是找不到的,于是这段没有成功执行,也就不能产生分页的按钮了。请问,如何做,才能让ajax请求回来的数据填充到页面上之后,产生了li标签之后,再调用第二段javascript代码。
<div id="shopping_list_pre"></div>
<div id="shopping_list_counter"></div>
<script type="text/javascript">
var flag=0;
var i=0;
var title;
$.ajax({
url: "showNewsAction.action",
type:'jsonp',
success: function(msg){
for(i=0;i<msg.toString().length;i++){
$("#shopping_list").append("<li><a href="+"http://localhost:8080/HCF/showNews.jsp?id="
+msg.news[i].id
+">"
+i
+msg.news[i].id
+msg.news[i].title
+msg.news[i].author
+msg.news[i].date.toString()
+"</a></li>");
}
}
});
</script><script type="text/javascript">
//第二段javascript代码
$("#shopping_list li").quickpaginate({ perpage:10, pager : $("#shopping_list_counter") });
</script>
问题是这样的,这是一个分页的插件。
正常的,应该是ajax请求回来的数据填充到页面上之后,再调用第二段javascript代码,产生分页的那些按钮。可是现在javascript的执行顺序是这样的,先执行了第二段代码,可是呢,#shopping_list li 这个选择器jquery是找不到的,于是这段没有成功执行,也就不能产生分页的按钮了。请问,如何做,才能让ajax请求回来的数据填充到页面上之后,产生了li标签之后,再调用第二段javascript代码。
解决方案 »
- 最近在做关于EXTJS内存泄漏方面的调查,请求大家提供代码。
- 看看这个封装和扩展如何修改!
- 5个文本框之间的计算问题。
- 怎么让这两个函数(Do_Connect(),Do_PlayVideo())自动运行?
- easyui前端框架combobox控件onSelect控件的用法。
- 关于SVG
- 关于判断上传文件大小的方法??帮个忙
- 请问在javascript中怎样实现类似vb中的doEvents功能?
- 怎么改变已经执行了的事件的参数?
- [求助]下载文件时如何携带参数?不能放在cookie里,不能拼接在url
- 求!!js+jsp编程中.tag文件指教....
- 关于onPropertyChange,是bug还是我理解有误?
//第一段代码
one(); //call the initial method
});function one(){
//第二段代码
two(); //call two() on callback
}function two(){
//第二段代码
three(); //call three() on callback
}依次类推
<script type="text/javascript">
var flag=0;
var i=0;
var title;
$.ajax({
url: "showNewsAction.action",
type:'jsonp',
success: function(msg){
for(i=0;i<msg.toString().length;i++){
$("#shopping_list").append("<li><a href="+"http://localhost:8080/HCF/showNews.jsp?id="
+msg.news[i].id
+">"
+i
+msg.news[i].id
+msg.news[i].title
+msg.news[i].author
+msg.news[i].date.toString()
+"</a></li>");
}
}
$("#shopping_list li").quickpaginate({ perpage:10, pager : $("#shopping_list_counter") });
});
第二种就是将ajax设置成同步<script type="text/javascript">
var flag=0;
var i=0;
var title;
$.ajax({
url: "showNewsAction.action",
type:'jsonp',
async: false,
success: function(msg){
for(i=0;i<msg.toString().length;i++){
$("#shopping_list").append("<li><a href="+"http://localhost:8080/HCF/showNews.jsp?id="
+msg.news[i].id
+">"
+i
+msg.news[i].id
+msg.news[i].title
+msg.news[i].author
+msg.news[i].date.toString()
+"</a></li>");
}
}
});
2.把ajax改成 同步的,增加参数 async: false,ajax默认调用是异步的,也就是说你在调用
$.ajax({...})后,第二段代码就执行了,但这时 ajax请求可能还没有返回值,