在AJAX加载的内容中未定义bootstrap-datepicker

时间:2014-11-05 20:31:53

标签: javascript jquery ajax twitter-bootstrap datepicker

我正在使用此repo中的bootstrap-datepicker:https://github.com/eternicode/bootstrap-datepicker主页:http://eternicode.github.io/bootstrap-datepicker

它在带有日期字段的表单上运行得很好。但是,在那个表单上我还有一个按钮,它打开一个模态中的子表单,该子表单也有日期字段。问题是在该子表单上,datepicker是未定义的,因此不起作用。

在使用AJAX加载的模态表单页面中,我有这个片段:

<script type="text/javascript">
$(document).ajaxComplete(function()
{
    var thing = $('.date-container input');
    console.log(thing);        //prints as a valid element
    console.log($.datepicker); //prints as 'undefined'
    thing.datepicker({         //crashes the script due to .datepicker being undefined
        autoclose: true,
        todayHighlight: true
    });
});
</script>

我甚至尝试从文档中运行此代码以在模式脚本中设置格式,但是剪切也导致错误,说明datepicker未定义:

$.fn.datepicker.defaults.format = "mm/dd/yyyy";

所以看起来由于某种原因,在通过AJAX加载的模态中包含的脚本中,datepicker只是未定义的,但是在加载模式的父页面中,datepicker工作正常。

关于问题可能是什么的任何想法?

1 个答案:

答案 0 :(得分:1)

你是否在模态页面中再次加载jQuery?我怀疑这可能是罪魁祸首。