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)

 

posted @ 2016-11-18 16:42  ice.ko  阅读(359)  评论(0编辑  收藏  举报