jquery 的一些基本操作
日常使用中的操作记录,持续更新中:
jquery.form.js表单ajax提交设置
var options = { //target: '#input', //把服务器返回的内容放入id为input的元素中 beforeSubmit: function () { }, //提交前的回调函数 success: function (data) { }, //提交后的回调函数 //url: url, //默认是form的action, 如果申明,则会覆盖 //type: type, //默认是form的method(get or post),如果申明,则会覆盖 //dataType: null, //html(默认), xml, script, json...接受服务端返回的类型 //clearForm: true, //成功提交后,清除所有表单元素的值 //resetForm: true, //成功提交后,重置所有表单元素的值 //timeout: 3000 //限制请求的时间,当请求大于3秒后,跳出请求 }; //表单校验 $('#form').validate({ errorLabelContainer: $("div.error-container"), submitHandler: function (form) { //校验完成提交表单 $(form).ajaxSubmit(contact_options); } });
计算两个时间之间相差的年份、月份、天数、小时、分钟、秒
function getDateDiff(dateTimeStamp) { var nowtime = new Date();//当前系统时间 //两时间差为毫秒数,除以1000则转换为秒数 var leftsecond = parseInt(Math.abs((dateTimeStamp.getTime() - nowtime.getTime())) / 1000); dayC = parseInt(leftsecond / (60 * 60 * 24));//计算出相差天数 yearsC = parseInt(dayC / 365);//根据天数计算年份 monthC = (nowtime.getFullYear() * 12 + nowtime.getMonth()) - (dateTimeStamp.getFullYear() * 12 + dateTimeStamp.getMonth());//计算月份 hourC = parseInt((leftsecond / 3600) % 24);//扣除相差天数,计算出相差小时数 minC = parseInt((leftsecond / 60) % 60);//扣除相差天数,小时数,计算出相差分钟数 s = parseInt(leftsecond % 60);//扣除相差天数、小时数、分钟数相差数,计算出相差秒速 if (yearsC >= 1) { result = "" + yearsC + "年前"; } else if (monthC>1) { result = "" + monthC + "月前"; } else if (dayC >= 1) { result = "" + dayC + "天前"; } else if (hourC >= 1) { result = "" + hourC + "小时前"; } else if (minC >= 1) { result = "" + minC + "分钟前"; } else result = "刚刚"; return result; }
禁用表单提交:
$("#frm").submit(function (e) { e.preventDefault(); });
ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
官网地址:http://echarts.baidu.com/index.html
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
// 判断字符串中是否存在该字符 存在返回字符位置 不存在返回-1 var test= ",1,"; test.indexOf("," +test+ ",") != -1 // 截取指定位置之后的所有数据 var _st_pwd = user_pwd.substring(user_pwd.indexOf('+')); // 从0 开始截取到指定位置 var _s_pwd = user_pwd.substring(0, user_pwd.lastIndexOf('+'));
获取表格 td的值 获取表格第一行 第二列的值
$("#table tr td").eq(1).text()
按钮倒计时:
function countdown(s, sendObj) { s--; if (s == 0) { sendObj.innerHTML = '发送验证码'; } else { sendObj.innerHTML = s + '秒后可重发'; setTimeout(function () { countdown(s, sendObj) }, 1000) } }
禁用按钮:
//禁用按钮 $('#buttonSelect').attr("disabled", true); //移除禁用 $('#buttonSelect').attr("disabled", false);
页面不刷新加载新页面
function jumpPage(url) { var pageContentBody = $('.content-wrapper'); $.ajax({ type: "GET", cache: false, url: url, dataType: "html", success: function (res) { if (res == '"needlogin"') { window.location.href = "/home/login"; } else { if (typeof window.bmshistory != "undefined") { var i = window.bmshistory.indexOf(url); if (i != -1) { window.bmshistory.splice(i, 1); } if (window.bmshistory.length > 10) { window.bmshistory.shift(); } window.bmshistory.push(url); } else { window.bmshistory = []; window.bmshistory.push(url); } pageContentBody.html(res); } }, error: function (xhr, ajaxOptions, thrownError) { pageContentBody.html('<h4 style="font-family:Microsoft YaHei;">访问服务器连接故障,请检查网络...</h4>'); //App.unblockUI(pageContent); }, async: false }); }
js全选操作
$("#checkAll").on("click", function () { if (this.checked) { $("input:checkbox[name='checkvideo']").prop("checked", true); } else { $("input:checkbox[name='checkvideo']").prop("checked", false); } });
jquery下载文件
var content = "file content!"; var data = new Blob([content], { type: "text/plain;charset=UTF-8" }); var downloadUrl = window.URL.createObjectURL(data); var anchor = document.createElement("a"); anchor.href = downloadUrl; anchor.download = "文件名.txt"; anchor.click(); window.URL.revokeObjectURL(data);
c# ajax提交html时报错解决办法
首先 在默认情况下标签类的东西是不会让你提交的 这是出于.net 的默认安全机制
我们要先在 <%@ page %> 里边加上 ValidateRequest="false"
这个时候如果还是不能提交到后台 那你就得修改一下 web.config 了
添加如下节点
<system.web> <httpRuntime requestValidationMode="2.0"/> </system.web>
append() – 在指定的元素的尾部添加一个新内容。 prepend() -在指定的元素里前部添加新内容。 after() – 在指定元素前添加新内容 before() -在指定元素的后面添加新内容。 乍一看append,prepend 和after,before似乎功能一样,但append,prepend指在选中的元素本身(内部)的前面和后面,而after,before指在选择中的元素的前面和后面。
js获取浏览器地址中的参数:
例如:http://172.16.41.106:8081/signIn/details?userId=8f9e04d4bb784542abdf3debe5ca0a9a
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } $(document).ready(function(){ var page=getQueryString("userId"); })
时间戳转换:
//时间戳转换 function dataTime(time) { // 比如需要这样的格式 yyyy-MM-dd hh:mm:ss var _date = new Date(time), year = _date.getFullYear(), //年 month = _date.getMonth() + 1, //月 day = _date.getDate(), //日 hour = _date.getHours(), //时间 minute = _date.getMinutes(), //分钟 second = _date.getSeconds();//秒 return year + "-" + month + "-" + day + " " + hour + ":" + minute; }
c# 时间戳转换实例:/Date(1521993600000)/
var c = date.replace("/Date(", "").replace(")/", ""); var now = new Date(parseInt(c)); var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds(); return year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day) + " " + (hour < 10 ? "0" + hour : hour) + ":" + (minute < 10 ? "0" + minute : minute) + ":" + (second < 10 ? "0" + second : second);
数组字符串转数组:
var images="["2016-11-22\/f22faadc-9b45-49c5-ace9-e77fbfbcc86b.jpg","2016-11-22\/28929bc2-a865-45c8-aa0b-0584408e1ed3.jpg"]";
//第一种解析方式
var img=eval(images);
//第二种解析方式
var img=JSON.parse(images);
获取select下拉列表框当前选中的值
$("#列表框的id").val();
获取select当前选中的文本值
$("#下拉列表框的id").find("option:selected").text();
对象转json json转对象
//将对象转换为json var js=JSON.stringify(jsonStr); //解析json var obj = eval(agent.houseImgs); //自定义json对象 var js {"name":$(name).val(),"phone":$(phone).val(),"carNumber":$(carNumbers).val(),"remark":remark, "imgurl":imgurl}; //初始化数组 var aArray=new Array(); //赋值 aArray.push(jsonObj);
js 60秒倒计时
//60秒计时 var countdown = 60; function SendEmail(obj) { if (countdown == 0) { obj.removeAttribute("disabled"); obj.value = "获取验证码"; countdown = 60; return; } else { obj.setAttribute("disabled", true); obj.value = "重新发送(" + countdown + ")"; countdown--; } setTimeout(function () { //SendEmail(obj) }, 1000) }
清空表单数据
function ResertForm() { $(':input', '#signupForm') .not(':button, :submit, :reset, :hidden') .val('') .removeAttr('checked') .removeAttr('selected'); }
获取 iframe 的父级元素 $("#sidebar-nav", parent.document)