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

所属分类: 网络编程 / JavaScript 阅读数: 1732
收藏 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++;
                            }
                        }
                    });
            }
        });
    });
更多精彩内容其他人还在看

BootStrap数据表格实例代码

本文通过实例代码给大家分享了BootStrap数据表格的相关知识,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

基于vue的短信验证码倒计时demo

这篇文章主要介绍了基于vue的短信验证码倒计时demo,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解React Native开源时间日期选择器组件(react-native-datetime)

本篇文章主要介绍了详解React Native开源时间日期选择器组件(react-native-datetime),具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

JS库particles.js创建超炫背景粒子插件(附源码下载)

particles.js用于创建粒子的轻量级 JavaScript 库。使用方法非常简单,代码也很容易实现,下面通过本文给大家分享JS库particles.js创建超炫背景粒子插件附源码下载,需要的朋友参考下吧
收藏 0 赞 0 分享

JS库之Waypoints的用法详解

waypoints的功能非常强大,一款用于捕获各种滚动事件的插件,下面跟随脚本之家小编一起学习JS库之Waypoints的用法吧
收藏 0 赞 0 分享

强大的JavaScript响应式图表Chartist.js的使用

本篇文章主要介绍了强大的JavaScript响应式图表Chartist.js的使用,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解wow.js中各种特效对应的类名

本篇文章主要介绍了wow.js中各种特效对应的类名 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库之Highlight.js的用法详解

highlight.js是一款轻量级的Web代码语法高亮库。下面通过实例代码给大家分享JS库之Highlight.js的用法详解,感兴趣的朋友跟随脚本之家小编一起学习吧
收藏 0 赞 0 分享

详解动画插件wow.js的使用方法

本篇文章主要介绍了动画插件wow.js的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库 Highlightjs 添加代码行号的实现代码

Highlightjs是一款优秀的代码高亮Js组件,可以很方便地对各种语言编写的代码添加语法高亮样式。本文重点给大家介绍Highlightjs 添加代码行号的实现代码,需要的朋友参考下吧
收藏 0 赞 0 分享
查看更多