【问题标题】:Unable to destroy bootstrap datetimepicker - (Cannot read property 'destroy' of undefined)无法销毁引导程序 datetimepicker -(无法读取未定义的属性“销毁”)
【发布时间】:2019-09-30 11:44:40
【问题描述】:

我正在使用 Eonasdan bootstrap datetimepicker,它可以在 https://eonasdan.github.io/bootstrap-datetimepicker/ 找到。

我有一个场景,我想销毁/重新初始化插件。

我有以下代码:

身体

@foreach($available_slot as $ak => $av)

    <a href="#" data-slot_start_time="{{$av['start']}}" data-slot_end_time="{{$av['end']}}" data-enabled_hours="{{$av['enabledHours']}}" class="btn btn-xs btn-success bookNow">Book Now</a>

@endforeach

脚本

$(function(){
    var $body = $('body');
    $body.on('click','.bookNow',function(){
        var slotStartTime = $(this).data('slot_start_time');
        var slotEndTime = $(this).data('slot_end_time');
        var enabledHours = $(this).data('enabled_hours');
        fillBookingModalForm(enabledHours,slotStartTime,slotEndTime);
        $('#bookingFormModal').modal('show');
    });

});

function fillBookingModalForm(hours,slotStartTime,slotEndTime)
{
    $('#bookingFormFront #slotStartTime').val(slotStartTime);
    $('#bookingFormFront #slotEndTime').val(slotEndTime);

    //in this line I tried to destroy
    $('#start_time').data("DateTimePicker").destroy();


    $("#start_time").datetimepicker({
        useCurrent: false,
        format: "hh:mm a",
        enabledHours: hours,
        stepping: 30
    });
}

这是我发现destroy 函数的链接。 https://eonasdan.github.io/bootstrap-datetimepicker/Functions/

但是,当我添加行 $('#start_time').data("DateTimePicker").destroy(); 时,它会在控制台窗口上显示以下错误。

Uncaught TypeError: Cannot read property 'destroy' of undefined

【问题讨论】:

  • 能否请您添加完整的代码sn-p
  • code sn-p 哪一部分?

标签: jquery eonasdan-datetimepicker


【解决方案1】:

$("#start_time").datetimepicker("remove") 为我工作

【讨论】:

    【解决方案2】:

    适合正在尝试的人$('#datetimepicker').data("DateTimePicker").date(null) 你得到错误 .data is undefined. 然后你可以在 jugaad 下面使用,我不知道它有多好,但它对我有用

    function getDateTimeObj(ele) {
        if(ele && ele[0]){
            for(k in ele[0]){
                if(ele[0][k].hasOwnProperty('DateTimePicker')){
                    return ele[0][k]['DateTimePicker'];
                }
            }
        }
    }
    

    用法:

    getDateTimeObj($('#datetimepicker')).date(null);
    

    【讨论】:

      【解决方案3】:

      试试这个命令

       $("#start_time").datepicker('remove');
      

      来自此链接Similar question的参考

      【讨论】:

      • Cannot read property 'apply' of undefined。看起来您引用的问题是使用不同的插件。
      • 它正在使用引导日期选择器
      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      相关资源
      最近更新 更多