0

我知道我可以使用该locale设置来定义 Bootstrap DateRangePicker 插件语言,尽管我不知道如何定义该range设置的语言。

$('#my-calendar').daterangepicker(
{
  ranges: 
  {
     'Today': [moment(), moment()],
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
     'Last 7 days': [moment().subtract(6, 'days'), moment()],
     'Last 30 days': [moment().subtract(29, 'days'), moment()],
     'This month': [moment().startOf('month'), moment().endOf('month')]
  }
}

我想将today,yesterday等更改为定义的语言。所以我尝试了但没有成功:

var lang = JSON.parse($('#lang').val());
/*
 * lang[0] = 'Today'
 * lang[1] = 'Yesterday'
 * lang[2] = 'Last 7 days'
 * lang[3] = 'Last 30 days'
 * lang[4] = 'This month'
 */
$('#my-calendar').daterangepicker(
{
  ranges: 
  {
     lang[0]: [moment(), moment()],
     lang[1]: [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
     lang[2]: [moment().subtract(6, 'days'), moment()],
     lang[3]: [moment().subtract(29, 'days'), moment()],
     lang[4]: [moment().startOf('month'), moment().endOf('month')]
  }
}

但这Uncaught SyntaxError: Unexpected token [会在每一lang[number]行中检索错误。

如何在范围设置中设置正确的标签语言?

4

1 回答 1

0

以非时尚的方式解决

基本上,DateRangePicker 插件会创建一个 div,其中包含一个带有Today,Yesterday等的列表。

<div class="ranges">
    <ul>
        <li>Today</li>
        <li>Yesterday</li>
    </ul>
</div>

因此,在插件完成初始化后,我手动更改text了。li

$('.ranges ul li').eq(0).text(lang[0]);
$('.ranges ul li').eq(1).text(lang[1]);
于 2016-10-07T13:49:43.193 回答