Bootstrap datepicker changeDate正则表达式错误

时间:2015-05-29 13:40:39

标签: javascript jquery regex twitter-bootstrap datepicker

我正在使用两个datepickers / html文本框来获取日期,并根据另一个日期选择器设置最小/最大值。问题是,当我为datepicker运行on changeDate函数时,我得到一个导致堆栈溢出的正则表达式错误:

Uncaught SyntaxError:无效的正则表达式:/ ^ date /:bootstrap-datepicker.js中的堆栈溢出:1328

<script type="text/javascript">
$(document).ready(function() {
    $(".date").datepicker({ autoclose: true })
        .on("changeDate", function() {
            var start = $("#startDate").datepicker("getDate");
            var end = $("#endDate").datepicker("getDate");
            $("#startDate").datepicker('setEndDate', end);
            $("#endDate").datepicker('setStartDate', start);
    });

});
</script>

有人有这个问题吗? 这是错误的代码:

for(数据中的var键)是行

function opts_from_el(el, prefix){
    // Derive options from element data-attrs
    var data = $(el).data(),
        out = {}, inkey,
        replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');
    prefix = new RegExp('^' + prefix.toLowerCase());
    function re_lower(_,a){
        return a.toLowerCase();
    }
    for (var key in data)
        if (prefix.test(key)){
            inkey = key.replace(replace, re_lower);
            out[inkey] = data[key];
        }
    return out;
}

1 个答案:

答案 0 :(得分:1)

使用on change而不是changeDate解决了这个问题。