前些年使用jQuery笔记代码

发布时间 2023-08-04 12:55:59作者: 长街与风
// jquery form json
function formJson(id) {
    var arr = $("#" + id).serializeArray();//form表单序列化
    var jsonStr = "";
    jsonStr += '{';
    for (var i = 0; i < arr.length; i++) {

        jsonStr += '"' + arr[i].name + '":"' + arr[i].value + '",';
    }
    jsonStr = jsonStr.substring(0, (jsonStr.length - 1));
    jsonStr += '}';
    return JSON.parse(jsonStr); //将拿到的键值对转换位json对象
}

// jquery 拼接 两个对象
var formdata = {name:"张三",address:"北京" };
$.extend(formJson('searchForm'),formdata)

// 利用闭包特性创建导出工具
var exportUtil = function () {
    var exports = function (url,btnId, params, listTotal ) {
        window.location.href = msUrl + url+"?"+ $.param(params);
        var time;
        if(listTotal > 500){
            time = 5 * 1000;
        }else{
            time = 2 * 1000;
        }

        setTimeout(function(){
            layer.closeAll();
            $("#"+ btnId).removeAttr("disabled");
        },time)
    };

    return{
        // 数据导出
        // url -> 导出地址
        // btnId -> 导出按钮id
        // params -> 导出参数
        // listTotal -> 列表总数
        exportData:function (url, btnId, params, listTotal) {
            if(listTotal < 1){
                layer.msg('没有数据可以导出', {
                    time: 3 * 1000 //(如果不配置,默认是3秒)
                });
            }else{
                // 禁用按钮防止重复提交,发送前响应
                $("#" + btnId).attr("disabled",true);

                layer.msg('努力导出中,请耐心等待...',{
                    time: 0 //(如果不配置,默认是3秒)0 不会关闭
                });

                exports(url, btnId, params, listTotal);
            }
        }
    }
}();

// 是否在选中option当中 有是1;没有是0
function  isOptIn(item, callback) {
    var itemVal = item.wfxw;
    var list = $("#id option");

    if(list.length == 0){
        callback(true, item);
    }else{
        var te = $('#id').find("option[value='"+itemVal+"']").length;
        if( te == 1 ){
            callback(false, null);
        }else {
            callback(true, item);
        }
    }
}

// 待选中取选中
function multipleChange() {
    var sel_dom =  $("#domid");
    var selectedOpt = sel_dom.find("option:selected");
    var text = selectedOpt.text();
    var val = selectedOpt.val();


    $("#domidoption").each(function (i) {
        var itemOpt = $(this);
        if (val == itemOpt.val()) {
            $(this).remove();
            return;
        }
    });

    $("#domid").append("<option value='"+val+"' >"+text+"</option>");

}

// 选中中移除
function multipleChange2() {
     var sel_dom =  $("#domid");
    var selectedOpt = sel_dom.find("option:selected");

    var text = selectedOpt.text();
    var val = selectedOpt.val();

    $("#sel_dom option").each(function (i) {
        var itemOpt = $(this);
        if (val == itemOpt.val()) {
            $(this).remove();
            return;
        }
    });
    changeFL();
}

// 分类改变
function changeFL() {
    var sel_dom_val= $("#sel_dom").val();
    var select = $("#sel_dom");

    var postOption = {
        url: 'url.do',
        data: {
            xxx: xxx
        },
        success: function (result) {// 成功的回调
            select.empty();
            var res = result.xxxxLists;

            if (res.length > 0) {
                for (var i = 0; i < res.length; i++) {
                    var item = res[i];
                    isOptIn(item, function (bool, item) {
                        if(bool){
                            select.append("<option value='" +item.v+ "' >" + item.k +" : "+ item.kkk +"</option>");
                        }
                    })
                }
            } else {
                SPlatForm.alert("没有找到对应的记录!");
            }
        }
    };

    SPlatForm.post(postOption);
}

// 给多选赋值
var purpose = itemKkxx.purpose;// 回显多选的值
$("input[name='purposes"+index+"']").each(function () {// 获取多个多选框的dom
    var thisval = $(this).val();// 当前单个框的值
    //判断单个框的值是否包含回显的值
    if(purpose.indexOf(thisval) > -1){ 
        // 给选中回显
        $(this).attr("checked","checked");
    }
});

//div内部拼接
var html = '<h1>模板</h1>';
$("#id").append(html);
// 通过控制class禁用
if(yhbh != '011210'){
    $(".discheck").attr('disabled','disabled');
}else{
    $(".discheck").removeAttr("disabled")
}

// ajax
 $.ajax({
     type: "POST", // 提交方式
     url: "url.do", // 提交地址
     data: json, //数据,这里使用的是Json格式进行传输
     success: function (data) {

         window.open(url);

     },
     error:function(){
         alert("ajax错误")
     }
 });

// 获取下拉框选中的内容
  var selectedval = $("#" + id).find("option:selected").val();
// 初始化
 $(document).ready(function() {})