JQuery发起ajax请求,并在页面动态的添加元素
页面html代码:
<li>
<div class="coll-tit"><span class="coll-icon"><i
class="sysfont coll-default"></i>全域旅游目的地</span>
</div>
<div class="coll-panel">
<div class="title-cont-two" style=" padding-top: 5px;padding-right: 5px;">
<p><span>共</span><span>计<span id="globalTravelCount">XX</span>个</span></p>
<p class="this-title-two title-block mt-10" id="globalTravel">
<a class="more" style="cursor: pointer;" id="globalTravelMore">查看更多<i class="sysfont"></i></a>
</p>
<div class="title-cont-two"></div>
</div>
</div>
</li>
发起ajax的js代码:
function loadMoreGlobalData() {
var $parent_region = $("#parent_region").val();
var $level = $("#level").val();
var globalTravelCount = parseInt($("#globalTravelCount").text());
var d = document.getElementById("globalTravel");
var p1 = d.getElementsByTagName('span');
var num = p1.length; // 得到目前已经显示的旅游目的地的数量
var currentPage = Math.floor(num / 10); // 得到当前页数
if (parseInt(num) >= globalTravelCount){ // 已经显示全部数据
$("#globalTravelMore").remove();
}else {
$.post("/globalTravel/more",{ parent_region:$parent_region,pageNum:currentPage,level:$level},
function(backData,textStatus,ajax){
if (textStatus == "success") {
//遍历
//返回json数组对象,对其遍历
$.each(backData, function (i, json) {
var $span = $("<span></span>");
var $a = $("<a></a>")
$a.attr('href','/data-check?parent_region='+json['region']+'&level='+json['level']);
$a.text(json['name'])
$span.append($a);
$("#globalTravelMore").before($span);
});
// $("#globalTravelMore").appendTo("#globalTravel")
var spanCount = document.getElementById("globalTravel").getElementsByTagName('span').length;
if (parseInt(spanCount) >= globalTravelCount) {
$("#globalTravelMore").remove();
}
}else {
alert("ajax读取信息失败了!")
}
},"json");
}
}
给html代码中的a标签(查看更多)添加点击事件的js代码:
<script>
$("#globalTravelMore").click(function () {
loadMoreGlobalData()
});
</script>
html页面示意图:
部分json数据展示:
[
{
region: 510726,
parent_region: 510700,
name: "北川羌族自治县",
level: 3,
exampleStatus: 1
},
{
region: 510727,
parent_region: 510700,
name: "平武县",
level: 3,
exampleStatus: 1
},
{
region: 510800,
parent_region: 510000,
name: "广元市",
level: 2,
exampleStatus: 1
},
{
region: 510822,
parent_region: 510800,
name: "青川县",
level: 3,
exampleStatus: 1
},
{
region: 510823,
parent_region: 510800,
name: "剑阁县",
level: 3,
exampleStatus: 1
},
{
region: 511100,
parent_region: 510000,
name: "乐山市",
level: 2,
exampleStatus: 1
}
]
JQuery发起ajax请求,并在页面动态的添加元素的更多相关文章
- jQuery实现Ajax请求时,页面显示等待的效果,超过指定请求时间后,进行其他操作
背景:有一个按钮,点击之后向后端程序发起Ajax请求,在请求结果没有返回之前,页面显示等待的效果,此时仍旧是异步请求,等待的效果在接收到结果后撤销. 需求:因为网络延迟或者后端程序的问题,在发起Aja ...
- 关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题
http://www.cnblogs.com/lys_013/archive/2013/08/07/3243435.html 今天在做ajax页面无刷新请求后台服务器数据的时候,IE下遭遇Ajax缓存 ...
- Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)
1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...
- Struts2处理(jQuery)Ajax请求
1. Ajax Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...
- JQuery发送ajax请求不能用数组作为参数
JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){ var select ...
- Angular和jQuery的ajax请求的差别
近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...
- Jquery发送ajax请求以及datatype参数为text/JSON方式
Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包 ...
- 使用es6的then()方法封装jquery的ajax请求
使用场景: jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了. 示 ...
- Servlet处理(jQuery)Ajax请求
1. jQuery jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...
随机推荐
- Murano Weekly Meeting 2015.09.01
Meeting time: 2015.September.1st 1:00~2:00 Chairperson: Nikolay Starodubtsev, from Mirantis Meeting ...
- (转)Shell脚本之break,continue,和exit区别
Linux脚本中的break continue exit return break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 exit退出脚本,常带一 ...
- rail 怎样在已有数据库上继续开发
今天刷贴看到了这篇文章http://ruby-china.org/topics/16493,老大回复的很有意义,在这里备份一个 而要把现有的数据库纳入 Migration,一个简单方法: 创建一个空 ...
- 117、python MySQLdb在windows环境下的快速安装、问题解决方式
使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...
- Unicode汉字编码表以及参考源码分享
1 Unicode编码表 Unicode只有一个字符集,中.日.韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个 ...
- JEECMS站群管理系统-- 标签使用和模板的制作
1模板规划 1.1资源文件 资源文件就是网页中用到的图片.CSS.JS等元素,在CMS系统中所有的资源文件在网站的根目录中的 /res_base/所属网站定义资源目录/TEMPLEATE/WEB /r ...
- No module named Crypto--转
https://blog.csdn.net/lacoucou/article/details/53152122 背景:win10+python 2.7 在python 中使用AES算法时,会报告上述错 ...
- js 去掉字符串前后空格5种方法
第一种:循环检查替换 //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s ...
- hibernate课程 初探单表映射4-1 课程总结
ORM是一种面向对象编程的方法,用这种方法来避免写数据库底层语言sql语句,这样有利于java的跨平台,扩展.维护.而hirenate是ORM的一种框架 hirbernate开发基本步骤编写配置文档h ...
- 基于vue2+nuxt构建的高仿饿了么(2018版)
前言 高仿饿了么,以nuxt作为vue的服务端渲染,适合刚接触或者准备上vue ssr的同学参考和学习 项目地址如遇网络不佳,请移步国内镜像加速节点 效果演示 查看demo请戳这里(请用chrome手 ...