jqGrid增加时--判断开始日期与结束日期(实例解析)

所属分类: 网络编程 / JavaScript 阅读数: 1725
收藏 0 赞 0 分享
复制代码 代码如下:

$("#btnAddSaveTestSubject").click(function () {
        //增加时的验证,保存
        jQuery.validator.addMethod("admissionBatch", function (value, element) {
            return this.optional(element) || value != 0;
        }, "请选择招生批次");
        jQuery.validator.addMethod("educationLevel", function (value, element) {
            return this.optional(element) || value != 0;
        }, "请选择学历层次");
        jQuery.validator.addMethod("professionalProperty", function (value, element) {
            return this.optional(element) || value != 0;
        }, "请选择专业性质");
        $("#AddEntranceTestSubjectFrom").validate({
            event: "blur",
            debug: true,
            ignore: ":hidden",
            errorElement: "div",
            wrapper: "div",
            errorPlacement: function (error, element) {
                error.addClass('message');
                error.appendTo(element.parent());
            },
            rules: {
                "etsadd_admissionBatch": {
                    required: true,
                    admissionBatch: true
                },
                "etsadd_educationLevel": {
                    required: true,
                    educationLevel: true
                },
                "etsadd_professionalProperty": {
                    required: true,
                    professionalProperty: true
                }
            },
            messages: {
                "etsadd_admissionBatch": {
                    required: "请选择招生批次",
                    admissionBatch: "请选择招生批次"
                },
                "etsadd_educationLevel": {
                    required: "请选择学历类型",
                    educationLevel: "请选择学历类型"
                },
                "etsadd_professionalProperty": {
                    required: "请选择专业性质",
                    professionalProperty: "请选择专业性质"
                }
            },
            submitHandler: function (form) {
                var idArray = jQuery("#testSubjectGrid").jqGrid('getGridParam', 'selarrrow'); //获取测试科目选中的行 
                if (idArray == null || idArray == "") {
                    jAlert("请选择测试科目!", "提示信息");
                    return;
                }
                for (var i = 0; i < idArray.length; i++) {
                    if ($("#exam_begintime_" + idArray[i]).val() == "") {
                        jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "的开始时间不能为空!", "提示信息");
                        return;
                    }
                    if ($("#exam_endtime_" + idArray[i]).val() == "") {
                        jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "的结束时间不能为空!", "提示信息");
                        return;
                    }
                    var reg_ymd = /^([/d]{4})-([/d]{1,2})-([/d]{1,2})$/; //校验日期的正则
                    begindata = $("#exam_begintime_" + idArray[i]).val();
                    enddata = $("#exam_endtime_" + idArray[i]).val();
                    var arr_dt1, arr_dt2;
                    arr_dt1 = begindata.match(reg_ymd);
                    arr_dt2 = enddata.match(reg_ymd);
                    begindata = new Date(arr_dt1[1] + "/" + arr_dt1[2] + "/" + arr_dt1[3]);
                    enddata = new Date(arr_dt2[1] + "/" + arr_dt2[2] + "/" + arr_dt2[3]);
                    if (begindata > enddata) {
                        jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "开始时间不能大于结束日期!", "提示信息");
                        return;
                    }
                    if ($("#exam_turn_" + idArray[i]).val() == "") {
                        jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "的考试场次不能为空!", "提示信息");
                        return;
                    }
                    if ($("#exam_turn_" + idArray[i]).val() != "") {
                        var re = /^[-/+]?/d+(/./d+)?$/;
                        var nubmer = $("#exam_turn_" + idArray[i]).val();
                        if (!re.test(nubmer)) {
                            jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "的考试场次必须为数字!", "提示信息");
                            return false;
                        }
                        if ($("#exam_turn_" + idArray[i]).val().length > 8) {
                            jAlert("测试科目" + jQuery("#testSubjectGrid").jqGrid("getCell", idArray[i], "display_content") + "的考试场次不能大于8位数字!", "提示信息");
                            return;
                        }
                    }
                }
                if ($("#AddEntranceTestSubjectFrom").validate().form())
                    $("#AddEntranceTestSubjectFrom").ajaxSubmit({
                        url: "/EntryTestsubjectsSet/AddTestSubject/",
                        dataType: 'json',
                        clearForm: false,
                        data: {
                            strJson: JSON.stringify({
                                test_course_id: idArray.join("&")
                            })
                        },
                        success: function (data) {
                            var json = eval("(" + data + ")");
                            jAlert(json.msg, "提示信息");
                            if (json.suc == 1) {
                                $("#entranceTestSubjcetMask").hide();
                                $("#entranceAddTestSubjectSet").hide();
                                $("#entranceTestSubjectGrid").trigger("reloadGrid");
                                reloadNum++;
                            }
                        }
                    });
            }
        });
    });
更多精彩内容其他人还在看

JavaScript this关键字指向常用情况解析

这篇文章主要介绍了JavaScript this关键字指向常用情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue-cli打包后如何本地查看的操作

这篇文章主要介绍了Vue-cli打包后如何本地查看的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue cli 3.0通用打包配置代码,不分一二级目录

这篇文章主要介绍了vue cli 3.0通用打包配置代码,不分一二级目录,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript事件循环及宏任务微任务原理解析

这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于vue-cli3打包代码后白屏的解决方案

这篇文章主要介绍了关于vue-cli3打包代码后白屏的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue打包静态资源后显示空白及static文件路径报错的解决

这篇文章主要介绍了vue打包静态资源后显示空白及static文件路径报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue-cli3访问public文件夹静态资源报错的解决方式

这篇文章主要介绍了vue-cli3访问public文件夹静态资源报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS继承实现方法及优缺点详解

这篇文章主要介绍了JS继承实现方法及优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vue或react项目生产环境去掉console.log的操作

这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多