jQuery和Ajax的使用(杂记)
在jsp文件的获取绝对路径标签,其他jsp文件调用就行了
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<base href="${pageContext.request.scheme }://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath}/">
<!-- 其内容先后为:完全的绝对路径:http://.... -->
1.
$(function(){
//范围查询时,页面顺利跳转
//$("a").click(function(){
// var serializeVal=$(":hidden").serialize(); 序列化处理
// var href=this.href+"&"+serializeVal;
// window.location.href=href;
// return false;
//});
//转到? 页,处理
$("#pageNo").change(function(){
var val = $(this).val();
//去空格
val = $.trim(val);
//1. 校验 val 是否为数字 1, 2, 而不是 a12, b,使用正则表达式
var flag = false;
var reg = /^\d+$/g;
var pageNo = 0;
if(reg.test(val)){
//2. 校验 val 在一个合法的范围内: 1-totalPageNumber
pageNo = parseInt(val);
if(pageNo >= 1 && pageNo <= parseInt("${bookpage.totalPageNumber }")){
flag = true;
}
}
if(!flag){
alert("输入的不是合法的页码.");
$(this).val("");
return;
}
//3. 页面跳转
var href = "bookServlet?method=getBooks&pageNo=" + pageNo + "&" + $(":hidden").serialize();
window.location.href = href;
});
})
2.
$(function(){
//删除数据的按钮
$(".delete").click(function(){
var $tr=$(this).parent().parent();
var title=$.trim($tr.find("td:first").text());
var flag=confirm("确定要删除"+title+"的信息吗?");
if(flag){
return true;
}
return false;
});
//ajax 修改单个商品的数量:
//1. 获取页面中所有的 text, 并为其添加 onchange 响应函数. 弹出确认对话框: 确定要修改吗?
//在里面输入0,则表示要删除该书
$(":text").change(function(){
var quantityVal=$.trim(this.value);
//校验输入的是否合法,即为数字
var flag=false;
var reg=/^\d+$/g;
var quantity=-1;
if(reg.test(quantityVal)){
quantity=parseInt(quantityVal);
if(quantity>=0){
flag=true;
}
}
//如果输入的数为0或,小于0时,原来的值不变
if(!flag){
alert("输入的数量不合法!!!");
//不合法,就恢复
$(this).val($(this).attr("class"));
return;
}
//弹出,是否要确定删除 文本框
var $tr=$(this).parent().parent();
var title=$.trim($tr.find("td:first").text());
if(quantity==0){
var flag2=confirm("你确定要删除"+title+"吗?");
if(flag2){
//得到了 a 节点
var $a=$tr.find("td:last").find("a");
//执行 a 节点的 onclick 响应函数.
$a[0].onclick();
return ;
}
}
//修改单个商品的数量:
var flag=confirm("你确定要修改"+title+"的数量吗?");
if(!flag){
$(this).val($(this).attr("class"));
return ;
}
//2. 请求地址为: bookServlet
var url="bookServlet";
//3. 请求参数为: method:updateItemQuantity, id:name属性值, quantity:val, time:new Date()
var idVal=$.trim(this.name);
var args = {"method":"updateItemQuantity", "id":idVal, "quantity":quantityVal, "time":new Date()};
//4. 在 updateItemQuantity 方法中, 获取 quanity, id, 再获取购物车对象, 调用 service 的方法做修改
//5. 传回 JSON 数据: bookNumber:xx, totalMoney
//6. 更新当前页面的 bookNumber 和 totalMoney
$.post(url, args, function(data){
var bookNumber = data.bookNumber;
var totalMoney = data.totalMoney;
$("#totalMoney").text("总金额: ¥" + totalMoney);
$("#bookNumber").text("您的购物车中共有" + bookNumber + "本书");
},"JSON");
});
})
3.
jQuery和Ajax的使用(杂记)的更多相关文章
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- jQuery版AJAX简易封装
开发过程中,AJAX的应用应该说非常频繁,当然,jQuery的AJAX函数已经非常好用,但是小编还是稍微整理下,方便不同需求下,可以简化输入参数,下面是实例代码: $(function(){ /** ...
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- 重写jquery的ajax方法
//首先备份下jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中error和success ...
- Jquery通过Ajax方式来提交Form表单
今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache
虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...
- jquery管理ajax异步-deferred对象
今天跟大家分享一个jquery中的对象-deferred.其实早在jquery1.5.0版本中就已经引入这个对象了.不过可能在实际开发过程中用到的并不多,所以没有太在意. 这里先不说deferred的 ...
- Struts2 使用jQuery实现Ajax
在jQuery中将Ajax相关的操作进行封装,使用时只需在合适的地方调用Ajax相关的方法即可,相比而言,使用jQuery实现Ajax更加简洁,方便 1.$.Ajax()可以通过发送Http请求加载远 ...
- JQuery中Ajax的操作
JQuery Ajax异步操作的方式: $.ajax,$.post, $.get, $.getJSON. 一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异 ...
随机推荐
- TFS任务更新
由于不熟悉TFS任务更新的操作,花了四五个小时一个个的新建任务.下图是部分更新的任务截图: 每个任务的估计时间为3~5小时,每位成员的任务总时长均为19~20小时. 项目完成需要的总时间为135小时.
- sqlmap 1.0.21 tamper 总结
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- c++ basic 整理1
//c++类 初始化 与 初始赋值 //C++规定 对象的 成员变量 初始化 动作发生 在进入 构造函数本体 之前 . 在构造函数内 成员变量赋值都属于 赋值 . class People { pub ...
- html 抽奖代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Windows内核 基本数据结构
驱动对象: 每个驱动程序都会有唯一的驱动对象与之对应,并且这个驱动对象是在驱动加载时被内核中的对象管理程序所创建的.驱动对象用DRIVER_OBJECT数据结构表示,它作为驱动的一个实例被内核加载,并 ...
- php Output Control 函数 ob_系列函数详解
<?php /* * 输出缓冲控制 * * flush — 刷新输出缓冲 ob_clean — 清空(擦掉)输出缓冲区 ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲 ob_en ...
- String与StringBuilder之间区别(转)
当我们在初学使用C#时,常常会不知道该用StringBuilder合适还是用String高效,下面是我在学习当中对StringBuilder和String的区别总结,分享给大家. String类有不可 ...
- Mysql VARCHAR(X) vs TEXT
一般情况下,我们不太会纠结用Varchar或text数据类型. 比如说,我们要存储邮箱,我们自然会用varchar,不会想到用text.而当我们要存储一段话的时候,选了text,感觉varchar也够 ...
- Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机
准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...
- Python requests模块学习笔记
目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档 1.Requests模块说明 Requests 是使用 Apache2 Li ...