jquery 使用笔记

一下是在做项目中用到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>