在容器被ajax

时间:2015-04-27 16:53:33

标签: jquery ajax twitter-bootstrap datetimepicker

我使用bootstrap 3 datetimepicker组件。我正在使用建筑:

$('.datetimepickerbutton').datetimepicker({
    format: 'DD.MM.YYYY'
});

它工作正常,直到我将通过ajax发送内容。 Ajax表单位于.myDate div和它的targer id中。我该如何使用jquery"""我的代码也适用于ajax的方法吗?林'尝试使用:

$(".dataPoczatku").on("load", function () {
    $('.datetimepickerbutton').datetimepicker({
        format: 'DD.MM.YYYY'
    });
});

但现在我的日期时间选择器从未显示....

我的问题看起来与主题Get Bootstrap datetimepicker to work after ajax loaded类似,但我的所有条带链接都是正确的,在这种情况下它没有帮助。

2 个答案:

答案 0 :(得分:2)

为什么不在ajax成功后初始化datepicker。像下面的例子:

$.ajax({
  url: "test.html",
  context: document.body
}).done(function() {//success function now you can initialize datepicker
  $('.datetimepickerbutton').datetimepicker({
    format: 'DD.MM.YYYY'
  });
});

如果您的ajax调用发生的次数超过一次,则可能必须在初始化之前使用$('.datetimepickerbutton').datetimepicker('remove');。我建议您使用ID代替Class .datetimepickerbutton ),这样它才会影响特定元素。

答案 1 :(得分:0)

另一种电话:

var posting = $.post( url, data );
posting.done(function(output){
  $('#main-content').html(output).find('#datepicker').datepicker(datepickerOptions());
});

$('#main-content').load(this_file + ' #div' + this_id, {
  'id': this_id,
  'name': this_name
}, function(){
  $(this).find('#datepicker').datepicker(datepickerOptions())
});

function datepickerOptions() {
  var ToEndDate = new Date();
  return {
        todayBtn: true,
        orientation: "top left",
        autoclose: true,
        todayHighlight: true,
        endDate: ToEndDate,
      }
}

您可以使用'load'或任何类型的ajax调用执行相同的操作。

我在显示datepicker方面遇到了问题:仅在第二次点击时显示,即:当我获得焦点时。这很好。

感谢@Manwal为您提供解决方案,它帮助了我。