jQuery日期和时间段选择代码

jQuery日期和时间段选择代码

添加时间:2021-03-20 20:00:25
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:年月时间段
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

简单实用的jQuery日期和时间段选择代码,可选择预约日期以及预约时段区间范围。
jQuery日期和时间段选择代码
分类:日期时间 > 年月时间段 难易:初级

js代码

<script src="js/jquery.min.js"></script>
<script>
    var box1,box2;
    $('.date_').click(function() {
        $('.date_').removeClass('checked');
        $(this).addClass('checked');
    });

    $(".slot_").on("click", function () {
        var $this = $(this);
        var $boxes = $this.parent().children();

        if ($this.hasClass('disable'))
            return;

        if (!box1) {
            // 点击第一个盒子的时候清空所有box的checked状态
            // 移除之前存储的box2变量
            // 只给当前盒子增加checked
            box1 = $this;
            $boxes.removeClass('checked');
            $this.addClass('checked');
            box2 = null;
        } else if (!box2) {
            // 点击第二个盒子的时候
            // 计算从哪个盒子开始到哪个盒子结束需要增加checked状态
            box2 = $this;
            var box1Index = box1.index();
            var box2Index = box2.index();

            // 这里从“第一个盒子”、“第二个盒子”的概念切换到“开始盒子”和“结束盒子”
            var startBoxIndex = Math.min(box1Index, box2Index);
            var endBoxIndex = Math.max(box1Index, box2Index);

            // 重复点击第一个盒子时,不计算为第二个盒子
            if (startBoxIndex === endBoxIndex) {
                box2 = null;
            }

            // 开始盒子和结束盒子之间所有的盒子
            var $startEndBoxRange = $boxes.filter(function () {
                var index = $(this).index();
                return index >= startBoxIndex && index <= endBoxIndex;
            });
            var $disableBoxes = $startEndBoxRange.filter(function () {
                return $(this).hasClass('disable');
            });

            // 用户选择的区间是否包含禁用的盒子
            if ($disableBoxes.length) {
                // 包含禁用盒子则提示,并重置第二盒子
                alert('在范围内禁用');
                box2 = null;
            } else {
                // 不包含禁用盒子
                $boxes.removeClass('checked');
                $startEndBoxRange.addClass('checked');

                // 到这里用户选择完了开始和结束区间
            }
        } else {
            // 当已经选择了第二个盒子后重新点击,意味着刚才选过的一系列盒子作废
            // 用户期望重新选择盒子区间
            // 和选择第一个盒子后的逻辑相同
            box1 = $this;
            $boxes.removeClass('checked');
            $this.addClass('checked');
            box2 = null;
        }

    })

    $("#submitOrder").on('click',function(){
        if(box1 && box2){
            var startTime = box1.attr("data-time");
            var endTime = box2.attr("data-time");
            if(startTime && endTime){
                alert("预约成功")
            }else{
                alert("请选择预约时间")
            }
        }else{
            alert("请选择两个时间点")
        }



    })

</script>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:jQuery日期和时间段选择代码

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.084429s