AJAX中的Datepicker加载了Modal

时间:2014-09-16 11:18:27

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

每次加载模态时,我都可以成功初始化datepicker。我不能做的是让它完成输入字段

我的逻辑如下:

  • 在页面加载时写入模态
  • 填写AJAX请求
  • 激活DatePicker

要加载的内容是表格。

第一次运行时,它就像一个魅力。 从第二次开始,一旦选择,它就无法完成输入字段。

这不是ID问题,因为输入ID是以dinamically方式创建的,而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')轻松找到已更新的输入...但是没有输入从上的模式的第二次加载更新。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你应该使用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');
        }
    });
});

OR

$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');
        }
    });
});