一下是在做项目中用到jquery涉及到的一些知识点,把源码复制过来,省得以后忘记了:

<link href="<%=request.getContextPath()%>/css/jquery.alerts.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.alerts.js"></script>
<script type="text/javascript">
$(function(){//页面加载完成执行的方法
ebc();
});
//给单选按钮绑定事件
function ebc(){
//每个活动下单选按钮绑定事件
$("input[name^='radio_']").each(function(){
$(this).bind("click", function(){
var rname = $(this).context.name;
$("input[name='"+rname+"']").each(function(){
var monid = $($(this).next()[0]).val();<%--获取下一个input的值,隐藏字段--%>
if(this.checked){
//设置复选按钮
$("input[name='check_"+monid+"']").each(function(){
$(this).attr("disabled",false);
});
//设置输入框
<%--$("input[name='input_"+monid+"']").each(function(){
$(this).attr("disabled",false);
});--%>
//设置div
$("div[name='div_"+monid+"']").each(function(){
$(this).attr("dis",1); //可用
});
}else{
$("input[name='check_"+monid+"']").each(function(){
$(this).attr("checked",false);
$(this).attr("disabled",true);
var id = $(this).attr("id");<%-- 获取当前点击的复选框的id --%>
$("#"+id.replace("check","input")).val("1");
});
$("input[name='input_"+monid+"']").each(function(){
$(this).attr("disabled",true);
});
$("div[name='div_"+monid+"']").each(function(){
$(this).attr("dis",0); //禁用
});
}
});
});
});
//每个加减按钮绑定事件
$("div[name^='div_']").each(function(){
$(this).bind("click", function(){
var id = $(this).attr("id");<%--当前被点击的div的id--%>
var type = $(this).attr("type");<%--当前被点击的div的type--%>
var rmid = getstr(id,"_",1,3);<%--获取id中第一个和第三个"_"之间的字符(ruleid_moneyid)--%>
var rmidi = getstr(id,"_",1,4);<%--获取id中第一个和第四个"_"之间的字符(ruleid_moneyid_i.index)--%>
if($(this).attr("dis")==1 && !$("#input_"+rmidi).attr("disabled")){<%--当前div可用,并且输入框可用--%>
if(type=="min"){//-
<%--首先判断复选框勾选的个数是否大于等于总款数,然后再判断--%>
var count1 = $("#input_count1_"+rmid).val();<%-- 获取当前规则金额下最多可选的件数 --%>
var currentCount1 = 0;
$("input[id^='input_"+rmid+"']:not(:disabled)").each(function(){<%-- 获取没有被禁用的复选框的个数 --%>
currentCount1++;
});
var input= $("#input_"+rmidi);
var val= $(input).val()*1;
if(val>1){
$(input).val(val-1);
if(currentCount1 < count1){<%--当前选中的复选框个数小雨款数--%>
$("input[id^='check_"+rmid+"']").each(function(){<%--把其他复选框启用--%>
if(!this.checked){
$(this).attr("disabled",false);
}
});
}
}else{
$(input).val(1);
}
}else if(type=="add"){//+
<%--需要判断是否超过了最大的件数(所有的复选框选中的赠品的个数相加)--%>
var count2 = $("#input_count2_"+rmid).val();<%-- 获取当前规则金额下最多可选的件数 --%>
//TOODO Andy 点击+的时候如果件数达到了最大就把其他的复选框不可用
var currentCount2 = 0;
$("input[id^='input_"+rmid+"']:not(:disabled)").each(function(){
currentCount2 += $(this).val()*1;
});
if(currentCount2 < count2){<%--数量没有达到最大值--%>
var input= $("#input_"+rmidi);
var val= $(input).val()*1;
var max = $(input).attr("max")*1;<%--这个赠品本身的限制--%>
if(val<max){
$(input).val(val+1);
currentCount2++;
}else{
$(input).val(max);
}
}
if(currentCount2 >= count2){<%--把其他的复选框不可用--%>
$("input[id^='check_"+rmid+"']").each(function(){
if(!this.checked){
$(this).attr("disabled",true);
}
});
}
}else{
}
}else{
}
});
});
//每个复选框绑定事件
$("input[name^='check_']").each(function(){
<%--绑定click事件--%>
$(this).bind("click", function(){
var name = $(this).attr("name");<%-- 获取当前点击的复选框的name --%>
var id = $(this).attr("id");<%-- 获取当前点击的复选框的id --%>
var ruleid = getstr(id,"_",1,3)<%-- 获取 "_规则id_金额id"为了后面获取条件做准备 --%>
var count1 = $("#input_count1_"+ruleid).val();<%-- 获取当前规则金额下最多可选的款数 --%>
var count2 = $("#input_count2_"+ruleid).val();<%-- 获取当前规则金额下最多可选的件数 --%>
var temcheckednum = 0;<%--记录被选中的复选框的个数--%>
$("input[name='"+name+"']").each(function(){
if(this.checked){
temcheckednum = temcheckednum+1;
}
});
<%--如果用户选择的复选框的个数大于或者等于要求的最大的款数,就要把其他的复选框不可用,反之:把所有的复选框都可用--%>
if(temcheckednum>=count1){
$("input[name='"+name+"']").each(function(){
var input = $("#input"+$(this).attr("id").substr(5));
if(!this.checked){
$(this).attr("disabled",true);
$(input).val("1");
$(input).attr("disabled",true);
}else{
$(input).attr("disabled",false);
}
});
}else{
$("input[name='"+name+"']").each(function(){
var input = $("#input"+$(this).attr("id").substr(5));
$(this).attr("disabled",false);
if($(this).attr("checked")){
$(input).attr("disabled",false);
}else{
$(input).val("1");
$(input).attr("disabled",true);
}
});
}
});
});
}
//进入结算中心
function gocheckcart(val){
if(val==0){
location.href="http://justeasy.com.cn/";
}else{
var str = "";
$("input[name^='check_']").each(function(){
//console.log(this.checked);
if(this.checked){
//check
var id = $(this).attr("id");
var largessname = $("#largess"+id.substr(5)).html();
var num = $("#input"+id.substr(5)).val();
str+= "&nbsp;&nbsp;&nbsp;&nbsp;"+largessname+" "+num+"份\r\n";
}
});
if($.trim(str)==""){
jConfirm("您还没有选择赠品,确定要进入结算中心吗?","温馨提示",function(r){
if(r){//确定

}else{
}
});
}else{
str = "您选择的赠品如下:\r\n"+str;
str += "确定要进入结算中心吗?";
jConfirm(str,"温馨提示",function(r){
if(r){//确定

}else{
}
});
}
}
}
<%--封装的一个工具类: str:原字符串,cha:查找的字符,start:查找的字符第几次出现的位置(开始),end:查找的字符第几次出现的位置(结束)--%>
function getstr(str,cha,start,end){
var f = 0;<%--第几次(开始)出现位置的下标--%>
var tem = 0;<%--临时变量--%>
for(var i=1;i<=end;i++){
if(i==start){
f = str.indexOf(cha);
tem = f;
}else{
tem = str.indexOf(cha,tem+1);
if(i==end)
break;
}
}
return str.substr(f+1,tem-f-1);
}
</script>

jquery 使用笔记的更多相关文章

  1. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  2. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  3. jQuery学习笔记(一):入门

      jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...

  4. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  5. jQuery整理笔记文件夹

    jQuery整理笔记文件夹 jQuery整理笔记一----jQuery開始 jQuery整理笔记二----jQuery选择器整理 jQuery整理笔记三----jQuery过滤函数 jQuery整理笔 ...

  6. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  7. jQuery学习笔记之Ajax用法详解

    这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...

  8. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  9. jQuery:自学笔记(5)——Ajax

    jQuery:自学笔记(5)——Ajax 使用Ajax快捷函数 说明 出于简化AJAX开发工作的流程,jQuery提供了若干了快捷函数. 实例 1.显示 test.php 返回值(HTML 或 XML ...

  10. jQuery:自学笔记(4)——事件与事件对象

    jQuery:自学笔记(4)——事件与事件对象 jQuery中的事件 什么是事件 所谓事件,就是被对象识别的操作,即操作对象队环境变化的感知和反应,例如单击按钮或者敲击键盘上的按键. 所谓事件流,是指 ...

随机推荐

  1. ArcGIS Viewer for Flex中引入google map作底图 (转)

    在ArcGIS Viewer for Flex开发中,经常需要用到google map作为底图,我们不能通过ArcGIS Viewer for Flex - Application Builder轻易 ...

  2. 计算GPS两点间的距离[单位为:米]

    /**     * 计算GPS两点间的距离[单位为:米]     * @param center GPS当前数据(LonLat对象表示,LonLat.lon表示经度,LonLat.lat表示纬度)   ...

  3. 【共享单车】—— React后台管理系统开发手记:权限设置和菜单调整(未完)

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  4. WinSock基本知识

    这里不打算系统地介绍socket或者WinSock的知识.首先介绍WinSock API函数,讲解阻塞/非阻塞的概念:然后介绍socket的使用. WinSock API Socket接口是网络编程( ...

  5. 利用eolinker实现api接口mock测试(mock server)

    转载:http://blog.csdn.net/naicha_qin/article/details/78276172 前后端分离或者是进行单元测试的时候,必须要用mock api替换掉第三方调用或者 ...

  6. Python命令行选项參数解析策略

    概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...

  7. 在PreferenceAcitity中使用Fragement时避免额外的Left和RightPadding

    On Android 4.4 遇到过这种问题: 注意到.上面的ActionBar部分的左右各有48像素的padding. 要了解该问题的成因,要首先了解其结构: 该页面的Activity是一个Pref ...

  8. 微信小程序登录JAVA后台

    代码地址如下:http://www.demodashi.com/demo/12736.html 登录流程时序登录流程时序 具体的登录说明查看 小程序官方API 项目的结构图: springboot项目 ...

  9. 《windows核心编程》 在应用程序中使用虚拟内存

    Microsoft Windows 提供了以下三种机制来对内存进行操控: 虚拟内存 最适合用来管理大型对象数组或大型结构数组 内存映射文件 最适合用来管理大型数据流(通常是文件),以及在同一台机器上运 ...

  10. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...