daterange picker问题:rp.find('。range-end')。datepicker('getDate')返回null

时间:2013-04-19 13:33:05

标签: jquery jquery-ui daterangepicker

SCENARIO

一个非常简单的daterangepicker实例:

<div class="section">
    <label for="drp">date-range-picker</label>
    <input type="text" id="drp" />
    <script>
        (function(){
            $('#drp').daterangepicker({
                presetRanges: [
                        { text: 'Last 30 days',
                            dateStart: function () { return Date.parse('today').add({day: -30}) },
                            dateEnd: function () { return Date.parse('today').add({day: -1}); }
                        },
                        { text: 'Previous month'
                            , dateStart: function () { return Date.today().add({month:-1}).moveToFirstDayOfMonth()}
                            , dateEnd: function () { return Date.today().add({month:-1}).moveToLastDayOfMonth(); }
                        },
                        { text: 'Current month'
                            , dateStart: function () { return Date.today().moveToFirstDayOfMonth()}
                            , dateEnd: function () { return Date.today().add({day:-1}); }
                        }
                    ],
                presets: {dateRange: 'Select range'},
                rangeStartTitle: 'Start date', rangeEndTitle: 'End date', doneButtonText: 'Done', prevLinkText: 'Prev', nextLinkText: 'Next',
                rangeSplitter: ' - ', dateFormat: "dd/mm/yy", closeOnSelect: true
            });
        })();
    </script>
</div>

包括:

<script type="text/javascript" language ="javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" language ="javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<script type="text/javascript" language ="javascript" src="client/date.js"></script>
<script type="text/javascript" language ="javascript" src="client/daterangepicker/daterangepicker.jQuery.js"></script>

问题

在本地环境中,一切正常。在生产环境中,选择任何预设后会出现以下错误:

Uncaught TypeError: Cannot call method 'getDate' of null @daterangepicker.jQuery.js:162

错误引发,因为执行下一个语句时:

var range_end = rp.find('。range-end'); [...] var rangeB = fDate(range_end.datepicker('getDate'));

我生气了。看起来daterangepicker没有初始化.range-end类元素中的datepicker。但我无法弄清楚出了什么问题。

(Chrome)控制台中没有其他错误。

参考

1 个答案:

答案 0 :(得分:0)

你能提供js小提琴吗?实际上我无法在你的问题上添加评论,因此我必须将其作为答案。