QQ:1187362408 欢迎技术交流和学习
jquery前端篇(jquery):
TODO:
1,jquery:精确控制页面对象,体现了OOP思想(面向对象)
2,jquery:选择器的调用
3,jquery:扩展validate插件,实现自定义验证控件,统一调用
4,jquery:前端获取后台数据,属性调用
5,jquery:each循环遍历json数据
6,字符串转换为json的两种方式:eval(‘(‘+string+‘)‘),$.parseJSON(string)【需要引用jquery相关文件】
7,返回值函数,便于验证
8,ext框架,为父页面赋值,相关操作
9,抒写jquery格式:统一声明变量,下面一步一步抒写相关js(我喜欢叫jquery)函数
讲解篇:
1,jquery:精确控制页面对象,体现了OOP思想(面向对象)
<span style="color:#000000;"><script type="text/javascript"> var itype = getParameter("iType");//页面标识:查看页面 var gkey = getParameter("gKey"); //主键 var pageControlElement;//json数据拼装:页面对象(金额计算调用) //var pageElement = '{"fSFBZ":"[id$=fSFBZ]","fHJNYSFJE":"[id*=fHJNYSFJE]","fXNHBCJE":"[id$=fXNHBCJE]","fQTJMJE":"[id*=fSJZFJE]":"[id$=fCBJE]"}';//json数据拼装:页面对象(金额验证调用):收费标准(元) fSFBZ,年应收费总额(元) fHJNYSFJE,新农合应予补偿金额(元) fXNHBCJE,其他减免金额(元) fQTJMJE,实际自付金额(元) fSJZFJE,成本金额(元) fCBJE 暂不用 var result = "true";//标识:result(默认:true,都不为空计算实际自负金额;false,有一项或多项为空不计算) var $ObjForm; //jquery对象:窗体对象 var nysf;//合计年应收费总额(元) fHJNYSFJE var bcje ;//新农合应予补偿金额(元) fXNHBCJE var jmje;//减免金额(元) fJMJE var zfje;//声明一个变量:实际自付金额(元),便于设置实际自付金额(元)的值 //接受药品/诊疗选择页面传递的药品/诊疗信息 function SetPatientValue(obj) { $("#ctl00_ContentPlaceHolder1_sXMBM").val(obj.sXMBM); $("#ctl00_ContentPlaceHolder1_sXMMC").val(obj.sXMMC); $("#ctl00_ContentPlaceHolder1_fZFZDJ").val(obj.fZFZDJ); } //获取参数值 function getParameter(paraName) { var sUrl = location.href; if (sUrl.indexOf("#") > 0) { sUrl = sUrl.replace("#", ""); } var reg = "(?:\\?|&){1}" + paraName + "=([^&]*)" var regresult = new RegExp(reg, "gi"); if (sUrl.indexOf(paraName) > 0) { regresult.exec(sUrl); return RegExp.$1; } else { return ""; } } $(function () { if(gkey == undefined || gkey == null || gkey == ''){//新增页面 $("[id*=sXMBM]").attr("value",<%=XMBM %>);//项目编码赋值 } if (itype != undefined && itype != null && itype != '' && itype == "View") {//查看页面 /*TODO非功能性辅助设计:pageControlElementJSON,json数据拼装:便于页面控制元素,判断显示或隐藏,禁用等 *span:1,"spSLWXXM","spGGWSFW"【显示】,其它span元素【隐藏】2,为span控件【spSLWXXM】赋值并显示3,为span控件【spGGWSFW】赋值并显示 *input:1,btnGetDrugsInfo:选择项目信息【隐藏】2,lbtnAdd:新增,保存【隐藏】(后缀为lbtnAdd的所有input的jquery对象 )3,lbtnSave *textarea:1,sBZ:备注,禁用 *each:循环遍历并控制window窗体元素 */ pageControlElement = '{"span":{"span":["span:not([id*=sp])","span[id$=spSLWXXM]","span[id$=spGGWSFW]"]},"input":{"linkbutton":["input[id$=btnGetDrugsInfo]","input[id$=lbtnAdd]","input[id$=lbtnSave]"]},"textarea":{"textarea":"textarea[id$=sBZ]"}}'; $ObjForm = $("[id=aspnetForm]"); //jquery对象:【aspnetForm】 //var pageControlElementJSON = eval("("+pageControlElement+")");//eval转换 //避免浏览器报错,将object对象pageControlElement转换为JSON对象 $.each(jQuery.parseJSON(pageControlElement), function (idex, item) { if (item.span != undefined && item.span != null && item.span != '') { $ObjForm.find(item.span[0]).css("display", "none"); //span标签 $ObjForm.find(item.span[1]).text($("[id$=hidSLWXXM]").val()); $ObjForm.find(item.span[2]).text($("[id$=hidGGWSFW]").val()); } if (item.linkbutton != undefined && item.linkbutton != null && item.linkbutton != '') { $ObjForm.find(item.linkbutton[0]).css("display", "none"); //input 标签 $ObjForm.find(item.linkbutton[1]).css("display", "none"); $ObjForm.find(item.linkbutton[2]).css("display", "none"); } if (item.textarea != undefined && item.textarea != null && item.textarea != '') { $ObjForm.find(item.textarea).attr("disabled", "disabled"); //textarea 标签 } }); /*$("[id=aspnetForm]").find("span:not([id*=sp])").css("display", "none"); //必填项,查找所有id包含"sp"的span元素:"spSLWXXM","spGGWSFW"【显示】,其它span元素【隐藏】 $("[id=aspnetForm]").find("span[id$=spSLWXXM]").text($("[id$=hidSLWXXM]").val()); //为span控件【spSLWXXM】赋值并显示 $("[id=aspnetForm]").find("span[id$=spGGWSFW]").text($("[id$=hidGGWSFW]").val()); //为span控件【spGGWSFW】赋值并显示 $("[id=aspnetForm]").find("input[id$=btnGetDrugsInfo]").css("display", "none"); //选择项目信息【隐藏】 $("[id=aspnetForm]").find("input[id$=lbtnAdd]").css("display", "none"); //新增,保存【隐藏】(后缀为lbtnAdd的所有input的jquery对象 ) $("[id=aspnetForm]").find("input[id$=lbtnSave]").css("display", "none"); $("[id=aspnetForm]").find("textarea[id$=sBZ]").attr("disabled", "disabled"); //备注,禁用 【暂不用】*/ }else{//新增,修改页面 /*TODO金额计算:实际自付金额=年应收费总额-新农合应予补偿金额(元)-其他减免金额(元)。 *合计年应收费总额(元) fHJNYSFJE *新农合应予补偿金额(元) fXNHBCJE *减免金额(元) fQTJMJE *实际自付金额(元) fSJZFJE ,[id$=fSJZFJE] */ $("[id$=fHJNYSFJE],[id$=fXNHBCJE],[id$=fQTJMJE]").blur(function () {//文本框输入后:减免金额(元) if(CheckElement()){ $ObjForm = $("[class=content01]"); nysf = $ObjForm.find("[id$=fHJNYSFJE]").val();//合计年应收费总额(元) fHJNYSFJE bcje = $ObjForm.find("[id$=fXNHBCJE]").val();//新农合应予补偿金额(元) fXNHBCJE jmje = $ObjForm.find("[id$=fQTJMJE]").val();//减免金额(元) fQTJMJE zfje = parseFloat(nysf)-parseFloat(bcje)-parseFloat(jmje); zfje = zfje.toFixed(2);//保留2位小数,避免浮点数相减产生多位小数情况 $ObjForm.find("[id$=fSJZFJE]").attr("value",zfje);//实际自付金额(元) fSJZFJE } }); } }); function CheckElement(){ /* var nysf = "[id$=fHJNYSFJE]";//合计年应收费总额(元) fHJNYSFJE var bcje = "[id$=fXNHBCJE]";//新农合应予补偿金额(元) fXNHBCJE var jmje = "[id$=fJMJE]";//减免金额(元) fJMJE var zfje = "[id$=fSJZFJE]";//实际自付金额(元) fSJZFJE ,"zfje":"[id$=fSJZFJE]" */ var $ObjForm = $("[class=content01]"); //jquery对象:【content01】 var sfElement ='{"nysf":"[id$=fHJNYSFJE]","bcje":"[id$=fXNHBCJE]","jmje":"[id$=fQTJMJE]"}'; var sfElementJSON = eval("("+sfElement+")");//收费相关json数据 $.each(sfElementJSON,function(idex,item){ if($ObjForm.find(item).val() == null || $ObjForm.find(item).val() == ''){ return result = false; }else{ return result = true; } }); return result; } function CheckInput() { var result = $("#aspnetForm").validate({ rules: { ctl00$ContentPlaceHolder1$sXMMC: {//项目名称 required: true, maxlength: 50 }, ctl00$ContentPlaceHolder1$sXMBM: {//项目编码 required: true, maxlength: 50 }, ctl00$ContentPlaceHolder1$sXMNR: {//项目内容 required: true, maxlength: 50 }, ctl00$ContentPlaceHolder1$fZFZDJ: {//政府指导价 decimalMaxLength: [12, 2] }, ctl00$ContentPlaceHolder1$iCS: {//次数 digits: true }, ctl00$ContentPlaceHolder1$iPC: {//频次(字典:1、每月,3、每季度,12、每年) required: true, digits: true }, ctl00$ContentPlaceHolder1$fSFBZ: {//收费标准(元) decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$sSFWJYJ: {//收费文件依据 maxlength: 50 }, ctl00$ContentPlaceHolder1$fHJNYSFJE: {//年应收费总额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$fXNHBCJE: {//新农合应予补偿金额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$fQTJMJE: {//其他减免金额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$fSJZFJE: {//实际自付金额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$fCBJE: {//成本金额(元) decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$sBZ: {//备注 maxlength: 350 } }, errorClass: "errorClass" }); return result.form(); } jQuery.validator.addMethod("IsCheckAmount", function (value, element) { var result = true; if (value < 0) result= false; return result; }, "*请输入正数"); //当【选择项目信息】选择导入【选择项目信息】用于存储信息并保存 function GDrugs() { winer.OpenWin('导入药品/诊疗项目信息', '/pages/Dictionary/MLBManagement/MLBList.aspx?iType=ypzl', 700, 500, false, this); return false; } function DoNew() { $(parent.document).find(".x-window-header-text").html("服务项目新增"); this.location.href = 'ServiceItemsEdit.aspx' return false; } function DoClose() { winer.close(); } </script></span>
2,jquery:选择器的调用
$ObjForm.find(item.span[0]).css("display", "none"); //span标签 $ObjForm.find(item.span[1]).text($("[id$=hidSLWXXM]").val()); $ObjForm.find(item.span[2]).text($("[id$=hidGGWSFW]").val()); $ObjForm.find(item.textarea).attr("disabled", "disabled"); //textarea 标签
3,jquery:扩展validate插件,实现自定义验证控件,统一调用
<span style="color:#000000;">1,调用: ctl00$ContentPlaceHolder1$fHJNYSFJE: {//年应收费总额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, ctl00$ContentPlaceHolder1$fXNHBCJE: {//新农合应予补偿金额(元) required: true, decimalMaxLength: [12, 2], IsCheckAmount:true }, 2,函数: jQuery.validator.addMethod("IsCheckAmount", function (value, element) { var result = true; if (value < 0) result= false; return result; }, "*请输入正数");</span>
4,jquery:前端获取后台数据,属性调用
<span style="color:#000000;">1,C#后台属性: private string xmbm;//项目编码 /// <summary> /// 声明public只读型变量:XMBM,便于前台绑定 /// </summary> public string XMBM { get { DataSet ds = SqlHelper.ExecuteStoredProToDataSet("GetKey", "", null); if (ds != null && ds.ToString() != "") xmbm = ds.Tables[0].Rows[0][0].ToString(); return xmbm; } }</span>
<span style="color:#000000;">2,jquery前台调用: if(gkey == undefined || gkey == null || gkey == ''){//新增页面 $("[id*=sXMBM]").attr("value",<%=XMBM %>);//项目编码赋值 }</span>
5,jquery:each循环遍历json数据
<span style="color:#000000;">1, $ObjForm = $("[id=aspnetForm]"); //jquery对象:【aspnetForm】 //var pageControlElementJSON = eval("("+pageControlElement+")");//eval转换 //避免浏览器报错,将object对象pageControlElement转换为JSON对象 $.each(jQuery.parseJSON(pageControlElement), function (idex, item) { if (item.span != undefined && item.span != null && item.span != '') { $ObjForm.find(item.span[0]).css("display", "none"); //span标签 $ObjForm.find(item.span[1]).text($("[id$=hidSLWXXM]").val()); $ObjForm.find(item.span[2]).text($("[id$=hidGGWSFW]").val()); } if (item.linkbutton != undefined && item.linkbutton != null && item.linkbutton != '') { $ObjForm.find(item.linkbutton[0]).css("display", "none"); //input 标签 $ObjForm.find(item.linkbutton[1]).css("display", "none"); $ObjForm.find(item.linkbutton[2]).css("display", "none"); } if (item.textarea != undefined && item.textarea != null && item.textarea != '') { $ObjForm.find(item.textarea).attr("disabled", "disabled"); //textarea 标签 } }); /*$("[id=aspnetForm]").find("span:not([id*=sp])").css("display", "none"); //必填项,查找所有id包含"sp"的span元素:"spSLWXXM","spGGWSFW"【显示】,其它span元素【隐藏】 $("[id=aspnetForm]").find("span[id$=spSLWXXM]").text($("[id$=hidSLWXXM]").val()); //为span控件【spSLWXXM】赋值并显示 $("[id=aspnetForm]").find("span[id$=spGGWSFW]").text($("[id$=hidGGWSFW]").val()); //为span控件【spGGWSFW】赋值并显示 $("[id=aspnetForm]").find("input[id$=btnGetDrugsInfo]").css("display", "none"); //选择项目信息【隐藏】 $("[id=aspnetForm]").find("input[id$=lbtnAdd]").css("display", "none"); //新增,保存【隐藏】(后缀为lbtnAdd的所有input的jquery对象 ) $("[id=aspnetForm]").find("input[id$=lbtnSave]").css("display", "none"); $("[id=aspnetForm]").find("textarea[id$=sBZ]").attr("disabled", "disabled"); //备注,禁用 【暂不用】*/ 2,var $ObjForm = $("[class=content01]"); //jquery对象:【content01】 var sfElement ='{"nysf":"[id$=fHJNYSFJE]","bcje":"[id$=fXNHBCJE]","jmje":"[id$=fQTJMJE]"}'; var sfElementJSON = eval("("+sfElement+")");//收费相关json数据 $.each(sfElementJSON,function(idex,item){ if($ObjForm.find(item).val() == null || $ObjForm.find(item).val() == ''){ return result = false; }else{ return result = true; } });</span>
6,字符串转换为json的两种方式:eval(‘(‘+string+‘)‘),$.parseJSON(string)【需要引用jquery相关文件】
<span style="color:#000000;">1,eval转换: var sfElementJSON = eval("("+sfElement+")");//收费相关json数据 2,$.parseJSON转换: $.each(jQuery.parseJSON(pageControlElement), function (idex, item) {...</span>
7,返回值函数,便于验证
<span style="color:#000000;">1,调用: if(CheckElement()){ $ObjForm = $("[class=content01]"); nysf = $ObjForm.find("[id$=fHJNYSFJE]").val();//合计年应收费总额(元) fHJNYSFJE bcje = $ObjForm.find("[id$=fXNHBCJE]").val();//新农合应予补偿金额(元) fXNHBCJE jmje = $ObjForm.find("[id$=fQTJMJE]").val();//减免金额(元) fQTJMJE zfje = parseFloat(nysf)-parseFloat(bcje)-parseFloat(jmje); zfje = zfje.toFixed(2);//保留2位小数,避免浮点数相减产生多位小数情况 $ObjForm.find("[id$=fSJZFJE]").attr("value",zfje);//实际自付金额(元) fSJZFJE } 2,函数: function CheckElement(){ /* var nysf = "[id$=fHJNYSFJE]";//合计年应收费总额(元) fHJNYSFJE var bcje = "[id$=fXNHBCJE]";//新农合应予补偿金额(元) fXNHBCJE var jmje = "[id$=fJMJE]";//减免金额(元) fJMJE var zfje = "[id$=fSJZFJE]";//实际自付金额(元) fSJZFJE ,"zfje":"[id$=fSJZFJE]" */ var $ObjForm = $("[class=content01]"); //jquery对象:【content01】 var sfElement ='{"nysf":"[id$=fHJNYSFJE]","bcje":"[id$=fXNHBCJE]","jmje":"[id$=fQTJMJE]"}'; var sfElementJSON = eval("("+sfElement+")");//收费相关json数据 $.each(sfElementJSON,function(idex,item){ if($ObjForm.find(item).val() == null || $ObjForm.find(item).val() == ''){ return result = false; }else{ return result = true; } }); return result; }</span>
8,ext框架,为父页面赋值,相关操作
<span style="color:#000000;">1,父页面调用: //接受药品/诊疗选择页面传递的药品/诊疗信息 function SetPatientValue(obj) { $("#ctl00_ContentPlaceHolder1_sXMBM").val(obj.sXMBM); $("#ctl00_ContentPlaceHolder1_sXMMC").val(obj.sXMMC); $("#ctl00_ContentPlaceHolder1_fZFZDJ").val(obj.fZFZDJ); } 2,子页面函数抒写: 略</span>
9,抒写jquery格式:统一声明变量,下面一步一步抒写相关js(我喜欢叫jquery)函数
<span style="color:#000000;">var itype = getParameter("iType");//页面标识:查看页面 var gkey = getParameter("gKey"); //主键 var pageControlElement;//json数据拼装:页面对象(金额计算调用) //var pageElement = '{"fSFBZ":"[id$=fSFBZ]","fHJNYSFJE":"[id*=fHJNYSFJE]","fXNHBCJE":"[id$=fXNHBCJE]","fQTJMJE":"[id*=fSJZFJE]":"[id$=fCBJE]"}';//json数据拼装:页面对象(金额验证调用):收费标准(元) fSFBZ,年应收费总额(元) fHJNYSFJE,新农合应予补偿金额(元) fXNHBCJE,其他减免金额(元) fQTJMJE,实际自付金额(元) fSJZFJE,成本金额(元) fCBJE 暂不用 var result = "true";//标识:result(默认:true,都不为空计算实际自负金额;false,有一项或多项为空不计算) var $ObjForm; //jquery对象:窗体对象 var nysf;//合计年应收费总额(元) fHJNYSFJE var bcje ;//新农合应予补偿金额(元) fXNHBCJE var jmje;//减免金额(元) fJMJE var zfje;//声明一个变量:实际自付金额(元),便于设置实际自付金额(元)的值</span>
时间: 2024-10-09 08:42:19