评论:仿美团酒店的日期插件,修改过的  [查看原文]

所属分类:输入-日期和时间

 50462  412  92
当前第2页 / 共3页
    杨光-黑龙江亿林网络股0
    2018/6/8 10:52:59
    我想把入住换成开始,离店换成结束,都换完 入住的值就出现问题了
        杨光-黑龙江亿林网络股0
        2018/6/8 13:15:24
        没事了 解决了
    回复
    William0
    2018/6/7 16:05:31
    添加了插件a标签无法跳转?怎么弄?
        风情客家_0
        2018/9/7 9:14:18
        真的,不要使用a标签,很多时候都很恶心
    回复
    dVey0
    2018/6/2 12:19:07
    日期初始化有问题,应加入初始化默认时间,不然现在不选择的话一直显示1晚 回复
    William0
    2018/6/1 10:42:24
    作者大大,怎么设置默认最少入住时间为30天? 回复
    东北红土0
    2018/5/31 13:56:42
    Ok.0
    2018/5/24 16:13:57
    如何得到上个页面传过来的时间字符串,初始化到这个插件里面?貌似没有提供接口,要另外写吗?
        Ok.0
        2018/5/24 16:33:25
        是要在内部的 _initselected: function() 做修改吗?
        Ok.0
        2018/5/25 11:46:56
        写了从外部获取的时间,超过离店时间的月份不知道怎么写,还有这个要怎么测试跨年的?
        ( ⊙o⊙ )0
        2018/6/21 18:07:59
        怎么从外部获取时间的啊 求教大佬
        厌倦0
        2020/6/11 15:35:23
        怎么解决的大哥
    回复
    流年0
    2018/5/15 16:59:18
    我要获取获取今天以前的日期 并且放到上边 该怎么办啊
        有什么,没什么0
        2018/11/14 9:33:14
        兄弟,你解决了吗?
    回复
    @--BT-MG-@0
    2018/3/6 11:42:57
    请问怎么把日期,共多少晚那些取出来用
        付出,收获。0
        2018/3/6 17:27:08
        callback: function() {
            //回调函数             
            $('.mask_calendar').fadeout(200);
            var startdate = $('#startdate').val(); //入住的天数	          
            var enddate = $('#enddate').val(); //离店的天数	             
            var numdate = $('.numdate').text(); //共多少晚	               
            console.log(startdate);
            console.log(enddate);
            console.log(numdate);
            //下面做ajax请求           
        },

         在index.html中取出就可以用了

        Mrs丶0
        2018/3/16 11:28:22
        我下载了文件在浏览器打不开是怎么回事?在线等,挺急的
        西瓜0
        2018/3/16 12:06:02
        刚测试,正常没有问题。
        付出,收获。0
        2018/3/22 16:22:55
        刚测试,正常没有问题。
    回复
    @--BT-MG-@0
    2018/3/5 18:14:37
    躺枪大灰机0
    2018/2/9 9:49:20

    “入住”下方的 年份 ,位置会变动,还会出现“年”字,
    例如,修改成下面的参数,年份 只会显示 “20”

    index : 2,//展示的月份个数
    daysnumber : "20", //控制天数

    请问是什么原因?

        付出,收获。0
        2018/2/10 9:37:53

        在data.js中的118行左右的:

        for(var i = 0; i < me.index; i++) {
           var  = i;
           startDayArrayYear.push(startDayArrays[select])
         }

         这段改为:

        for (var i = 0; i < 4; i++) {
              var select = i;
             startDayArrayYear.push(startDayArrays[select])
         }

        就可以了,因为之前这个插件是别人的,我拿了部分来改的。。所以会有这个小瑕疵

        付出,收获。0
        2018/2/10 9:45:55
        for(var i = 0; i < 4; i++) {
             var select = i;
             startDayArrayYear.push(startDayArrays[select])
        }

          我怎么一回复,跟我复制的不一样!!!!!!

        付出,收获。1
        2018/2/10 9:46:39
        就是把i< me.index这个改为i< 4就可以了
        Mrs丶0
        2018/3/16 11:25:59
        我下载了文件在浏览器打不开是怎么回事?在线等,挺急的
    回复
    金山城0
    2018/2/7 19:15:03
    楼主,请问你怎么标记某些特定日期啊
        付出,收获。0
        2018/2/9 9:15:47
        这个没有扩展,可能需要去找下有特定日期的插件模仿模仿,原理差不多的
    回复
    Leona_J1
    2018/1/30 14:11:59

    关于

    currentDate.setMonth(currentDate.getMonth() + select)

    引发月份不对的问题,作者可以先将当前日期设为第一天,然后再加一个月:

    currentDate.setDate(1)
    currentDate.setMonth(currentDate.getMonth() + select)
        未来、?wo 没想过0
        2018/1/31 10:53:30

        改了之后报这个错误,请教一下

        Uncaught TypeError: Cannot read property 'jQuery3210326912099300406431' of undefined

        currentDate.setDate(1);
        currentDate.setMonth(currentDate.getMonth() + select);
        付出,收获。0
        2018/2/1 9:02:36

        查看新版本不会哦

        付出,收获。0
        2018/2/1 9:07:44

        感谢热心老哥帮忙解决问题。。

    回复
    墨眉非白1
    2018/1/29 12:41:27

    问题找到了,的确是循环内的setMonth()方法问题;

    大概是因为setMonth()的时候,可能涉及它的算法问题,有点一知半解,也希望作者来解疑.

    经过个人的测试其实问题不止出现在1.29,后面的1.30,1.31,还有3.31(后面会出现两个5月份的日期)

    简单理解为,当前月份的日期,如果下个月没有这一天的话,月份就会往后推一个月;也就是1月份的29号,2月份最大天数才28天,setMonth(1)的时候找不到,它就把月份setMonth(2)了,也就是到了3月份.

    看了setMonth()的文档,它支持传入两个参数,

    最终解决为setMonth()的时候除了把月份传进去还要把当前月份的那一天也传进去就解决问题了;

    也就是 把原来的代码

    currentDate.setMonth(currentDate.getMonth() + select);

    改为

    currentDate.setMonth(currentDate.getMonth() + select,currentDate.getDay());

    就能成功渲染对月份了.不知道后续还有没有问题,希望能一起探讨

        墨眉非白1
        2018/1/29 12:47:19

        写错了一个地方

        setMonth()第二个参数是传当前的天数,上面的currentDate.getDay()获取的都是29,所以问题也不大.大概是传当前天数进去,算法里面就会渲染对了

        墨眉非白0
        2018/1/29 12:48:01

        文档参考地址: http://blog.csdn.net/butterfly5211314/article/details/52742295

        不吃辣椒的兔叽0
        2018/1/29 16:16:13
        照着改了,可以出现2月份了,很棒,谢谢
        Turing7240
        2018/1/31 10:15:54

        为什么我照着改点击控件出不来会报错

        未来、?wo 没想过0
        2018/1/31 10:36:41

        改了之后报这个错误,请教一下

        付出,收获。0
        2018/2/1 9:08:37

        感谢热心老哥帮忙解决问题。。

        付出,收获。1
        2018/2/1 9:09:39
        currentDate.setDate(1) currentDate.setMonth(currentDate.getMonth() + select)

         还有index.html中添加了阻止默认冒泡e.stopPropagation(), e.preventDefault(), 具体如下: 

        $('#firstSelect').on('click', function(e) {
            e.stopPropagation();
            e.preventDefault();
            $('.mask_calendar').show();
        });
        $('.mask_calendar').on('click', function(e) {
            e.stopPropagation();
            e.preventDefault();
            if (e.target.className == "mask_calendar") {
                $('.calendar').slideUp(200);
                $('.mask_calendar').fadeOut(200);
            }
        })
        墨眉非白0
        2018/2/1 10:19:43
        感觉setDate(1)为1这种方法比较稳一点
        付出,收获。0
        2018/2/1 11:19:05

        也是。。

    回复
    墨眉非白0
    2018/1/29 10:46:38

    作者,好像是刚好29号,就会连着出现两个3月份,你现在看看好像又有问题了

        墨眉非白0
        2018/1/29 11:43:45

        问题好像出现在循环里面的 setMouth() 方法

    回复
    manxiaoq0
    2018/1/17 9:00:06
    作者你好,请问一下,如果要对入住日期进行限制,对离店日期不限制,应该在哪修改呢?
        manxiaoq0
        2018/1/17 13:42:25

        已解决

        付出,收获。0
        2018/1/22 8:53:22

        好的

    回复

讨论这个项目(92)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

取消回复