【问题标题】:Bootstrap datepicker changeDate regex error引导日期选择器更改日期正则表达式错误
【发布时间】:2015-08-12 09:54:48
【问题描述】:

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

Uncaught SyntaxError: Invalid regular expression: /^date/: Stack Overflow at 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 key in data) 是行

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;
}

【问题讨论】:

  • 我没有在你的代码中找到任何正则表达式。
  • 我没有写任何正则表达式。这就是为什么我不明白为什么会出现正则表达式错误。
  • 检查 datepicker.js 上的行号,1328
  • 在您的问题中发布上述代码。
  • 这个小提琴(使用你的代码)似乎做你想做的没有错误:jsfiddle.net/6hf7byx2/1

标签: javascript jquery regex twitter-bootstrap datepicker


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多