首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dat.gui的日历输入

dat.gui的日历输入
EN

Stack Overflow用户
提问于 2016-09-19 23:40:33
回答 1查看 251关注 0票数 2

有没有办法为dat.GUI提供日历输入?我希望能够使用用户界面输入日期,如果可能的话。我目前的工作是以文本形式输入日期,但我更喜欢使用某种类型的日历。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 23:53:26

我知道这个问题很久以前就有人问过了,但现在还没有人回答。出于类似的需要,我创建了这个codepen来演示jquery-simple-datetimepickerdat.GUI的集成。相关部分/逻辑如下:

代码语言:javascript
复制
    $(function(){

        //Create dat.gui instance
        var gui  = new dat.GUI({closeOnTop: true, width:450});

        var calendarFolder = gui.addFolder("Calendar");

        //Add calendarDate to dat.GUI
        var dateController = calendarFolder.add({Date: ""}, "Date");
        calendarFolder.open();  


        //Append Date Picker to calendarDate and show it.   
        var guiInput = $(calendarFolder.domElement).find("input").eq(0);

        //Create event handler to update the dat.GUI input element when calendar is hidden 
        var datePickerOptions = {"onHide": function(handler){ fnSetGuiDate(); } }; 

        //Add the calendar to the dat.GUI input element and immediately show it for demonstration 
        guiInput.appendDtpicker(datePickerOptions).handleDtpicker('show');

        //Initialize the dat.GUI input value
        fnSetGuiDate();

        function fnSetGuiDate() {
            var date = guiInput.handleDtpicker('getDate');
            var strDate =   date.getFullYear() + "-" + 
                            fnFormat(date.getMonth() + 1) + "-" + 
                            fnFormat(date.getDate()) + " " + 
                            fnFormat(date.getHours()) + ":" + 
                            fnFormat(date.getMinutes());

            dateController.setValue(strDate);

            function fnFormat(mnthOrDate) {
                return mnthOrDate < 10 ? "0" + mnthOrDate : mnthOrDate;
            }

        }
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39577040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档