"TypeError: date.match не является функцией" в начальной загрузке datepicker
Я получил эту ошибку ""TypeError: date.match не является функцией ", когда я пытаюсь настроить список дат для отображения в DatePicker
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
language: "pt-BR",
multidate: true
});
//this dates is just a example, I already try to create from another way like:
// var data = new Array("2015-06-19", "2015-06-15")
//and also not work!
var dates = ["2015-06-19", "2015-06-15"];
$('#datepicker').datepicker('update', datas);
Я отмечаю в документе "Каждая дата считается" локальной "датой и будет преобразована в UTC для внутреннего использования".
Я не понял, что это значит. Должен ли я создать список дат или массив? в чем разница между ними, они не одно и то же?
3 ответа
Я понял, я просто изменил последнюю строку кода:
$('#datepicker').datepicker('update', datas); //to
$('#datepicker').datepicker('setDate', datas);
Спасибо всем!
Проблема в том, что обновление не будет принимать массив в качестве второго параметра.
Одним из вариантов является то, что вы можете использовать setDates
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
language: "pt-BR",
multidate: true,
});
var datas = ["2015-06-19", "2015-06-15"];
$('#datepicker').datepicker('setDates', datas)
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.1.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap-theme.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/css/bootstrap-datepicker3.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/js/bootstrap-datepicker.js"></script>
<input id="datepicker" />
Или сделать что-то вроде
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
language: "pt-BR",
multidate: true,
});
var datas = ["2015-06-19", "2015-06-15"];
datas.unshift('update');
var $el = $('#datepicker');
$el.datepicker.apply($el, datas)
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.1.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap-theme.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/css/bootstrap-datepicker3.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.0/js/bootstrap-datepicker.js"></script>
<input id="datepicker" />
Местный" Date
объект, ссылается на объект даты Javascript
Некоторые примеры того, как его инициализировать
var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
var unixTimestamp = Date.now(); // in milliseconds
Как предлагается в другом ответе, вы можете использовать setDates
$('#datepicker').datepicker({
format: "dd/mm/yyyy",
language: "pt-BR",
multidate: true,
});
var datas = [
new Date(2015, 5, 19), //remember, months in javascript starts with 0 for january
new Date(2015, 5, 15)
];
$('#datepicker').datepicker('setDates', datas)