每次打开日期范围选择器对话框时如何显示警报?

问题描述

我正在尝试在我的网络项目中实现 date range picker。我已按照文档中描述的所有步骤进行操作:

<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"> </script>

<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<input type="text" name="datefilter" value="" />

<script type="text/javascript">
    $(function() {

        $('input[name="datefilter"]').daterangepicker({
             autoUpdateInput: false,locale: {
                 cancelLabel: 'Clear'
             }
        });

        $('input[name="datefilter"]').on('apply.daterangepicker',function(ev,picker) {
             $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + 
             picker.endDate.format('MM/DD/YYYY'));
        });

        $('input[name="datefilter"]').on('cancel.daterangepicker',picker) {
            $(this).val('');
        });
    });
</script>

  • 现在我想在每次出现 alert("You have opened datepicker") 对话框时都显示一个 date range picker。我该怎么做?

解决方法

使用 show.daterangepicker event 显示警报。这是一个工作代码。我添加了一个用于在 show.daterangepicker 事件上显示警报的功能。我使用了 setTimeout 以便警报不会在下拉列表出现之前阻止 UI。

<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>

<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<input type="text" name="datefilter" value="" />

<script type="text/javascript">
    $(function() {

        $('input[name="datefilter"]').daterangepicker({
             autoUpdateInput: false,locale: {
                 cancelLabel: 'Clear'
             }
        });

        $('input[name="datefilter"]').on('apply.daterangepicker',function(ev,picker) {
             $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + 
             picker.endDate.format('MM/DD/YYYY'));
        });

        $('input[name="datefilter"]').on('cancel.daterangepicker',picker) {
            $(this).val(''); 
        });
        
        $('input[name="datefilter"]').on('show.daterangepicker',picker) {
            setTimeout(function(){
                alert("You have opened datepicker");
            },0);
        });
        
    });
</script>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...