【问题标题】:Datepicker in AJAX loaded ModalAJAX 中的 Datepicker 加载 Modal
【发布时间】:2014-09-16 11:18:26
【问题描述】:

每次加载模式时我都可以成功初始化日期选择器。我不能做的是让它工作以完成输入字段

我的逻辑如下:

  • 在页面加载时编写模式
  • 填写 AJAX 请求
  • 激活日期选择器

要加载的内容是一个表单。

第一次运行时,它就像一个魅力。 从第二次开始,一旦被选中,它就不会完成输入字段

这不是 ID 问题,因为输入 ID 是动态创建的,而 datepicker 是按类加载的。

这是我的初始化代码:

$.each($html.find('.datepicker'), function(){
    var $input = $(this);
    return $input.datepicker('destroy').datepicker({
        dateFormat: 'yy-mm-dd',
        changeMonth: true,
        showButtonPanel: true,
        minDate: -1,
        maxDate: "+1D +1Y",
        onClose: function(selectedDate){
            $input.addClass('has-success');
        }
    });
});

如您所见,我使用.addClass('has-success') 轻松定位已更新的输入...但是从第二次加载模态时起没有更新任何输入

有什么想法吗?

【问题讨论】:

    标签: jquery ajax twitter-bootstrap datepicker jquery-ui-datepicker


    【解决方案1】:

    你应该使用 jQuery-each 的这种构造:

    $.each($html.find('.datepicker'), function(index, value) {
        var $input = value;
        return $input.datepicker('destroy').datepicker({
            dateFormat: 'yy-mm-dd',
            changeMonth: true,
            showButtonPanel: true,
            minDate: -1,
            maxDate: "+1D +1Y",
            onClose: function(selectedDate){
                $input.addClass('has-success');
            }
        });
    });
    

    $html.find('.datepicker').each(function() {
        var $input = $(this);
        return $input.datepicker('destroy').datepicker({
            dateFormat: 'yy-mm-dd',
            changeMonth: true,
            showButtonPanel: true,
            minDate: -1,
            maxDate: "+1D +1Y",
            onClose: function(selectedDate){
                $input.addClass('has-success');
            }
        });
    });
    

    【讨论】:

    • 两个都试过了……还是不行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    相关资源
    最近更新 更多