【问题标题】:Issue with a DateTimePicker and how to pass the date selected to another function?DateTimePicker 的问题以及如何将所选日期传递给另一个函数?
【发布时间】:2021-12-24 12:08:33
【问题描述】:

我不经常使用 js 脚本,但为了完成我的项目,我需要解决这个问题。我正在使用来自 https://github.com/nehakadam/DateTimePicker 的 DateTimePicker。

初始化日历后,我可以选择一个日期,日期显示在日历输入中。 但在那之后,我不知道如何检索并将所选日期(例如 02-01-2021)发送到我的 html 文件中的另一个脚本。我有一个变量叫:

var dataSource2 = "../testcanvas/data/Multi_band_01-01-2021.tif";

所选日期必须更改 dataSource2 变量(因此在 Multi_band_02-01-2021.tif 中)。

这是我的日历代码:

        <script>

            $(document).ready(function()
                {$("#dtBox")
                .DateTimePicker({
                    addEventHandlers: function()
                    {
                        var dtPickerObj = this;

                        $("#datePicker .pickerButton").click(function(e)
                        {
                            dtPickerObj.on("change", function(e){ console.log(e.date); })
                            alert("test");
                        });                 
                    }
                });
            });

        </script>

警报和 console.log 均未触发。我不知道这个阶段有什么问题。

非常感谢您的帮助!

【问题讨论】:

  • 通常当开发人员允许用户将函数传递给属性时,您获得的值来自此回调。试一试,.DateTimePicker({ addEventHandlers:console.log, ... }) 所以我的建议是将 console.log 函数传递给 addEventHandlers,这样当处理程序被调用时,它将在控制台中打印所有传递给回调的参数,这些参数是变量你可以访问。希望对您有所帮助!

标签: javascript html jquery ajax datepicker


【解决方案1】:

好的,我找到了解决方案:

        <script type="text/javascript">
            var oDTP, dDate, dTime, dDateTime,
            sDateFormat = "";
            $(document).ready(function()
                {$("#dtBox")
                .DateTimePicker({

                    dateFormat: "dd-MM-yyyy",
                                                
                    buttonClicked: function(sButtonType, oElement)
                    {
                        oDTP = this;

                        if(sButtonType === "SET")
                        {
                            datex=oDTP.getDateTimeStringInFormat("Date", "dd-MM-yyyy");
                            var dataSource2="../testcanvas/data/Multi_band_"+datex+".tif";
                            updateChart(dataSource2)
                        }                                
                    }

                });
            });
        </script>

感谢 Caio Koiti 的帮助! :)

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 2011-03-09
相关资源
最近更新 更多