Дата по дате даты jquery datepicker
Я пытаюсь получить атрибут выбора даты, чтобы вытащить дату динамически, однако я получаю ошибки неперехваченного исключения, когда я пытаюсь установить его в переменную.
Ошибки возникают только на страницах, которые НЕ имеют календарь (встроенный).
Как я могу удалить тег rel из селектора, не получив эту ошибку?
//Event Calendar Home Page and Listing
function calendar_picker () {
$("#calendar-inline").datepicker({
//defaultDate: $(this).attr('rel'),
dateformat: 'yy-mm-dd',
maxDate: '+1y',
minDate:'-0d',
hideIfNoPrevNext: true,
showButtonPanel: false,
navigationAsDateFormat: false,
onSelect: function(dateText, inst) {
var d = new Date(dateText);
var fmt1 = $.datepicker.formatDate("yy-mm-dd", d);
$.ajax({
type: "POST",
url: "/events/listing/all/20/",
dataType: "html",
date: "event_date="+fmt1,
success: function(){
window.location.href= "/events/browse/"+fmt1;
}});}});
}
UPDATE
Правильно, прокомментированная строка - это то, с чем у меня возникают проблемы,
Каков правильный способ вывести атрибут rel из # calendar-inline изнутри этого.
Все попытки вызывают нечеткую ошибку в js
Обновление 2
function calendar_picker () {
var myDate = new Date($("#calendar-inline").attr('rel'));
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
Решение:
function calendar_picker () {
var myDate = null;
if ($("#calendar-inline").attr('rel') != null) {
myDate = $.datepicker.parseDate("yy-mm-dd", $("#calendar-inline").attr('rel'));
}
$("#calendar-inline").datepicker({
dateformat: 'yy-mm-dd',
defaultDate:myDate,
Ответы
Ответ 1
попробуйте следующее:
defaultDate: $("#calendar-inline").attr('rel')
Это попытается вытащить дату из атрибута rel, и если это не существует, он должен вернуть значение null. Когда null передается в дате даты datepicker, он будет использовать сегодня в качестве даты по умолчанию.
Ответ 2
Мы можем установить дату по умолчанию следующим образом:
<script type="text/javascript">
$(function() {
$("#date" ).datepicker({
changeMonth: true,
changeYear: true,
yearRange: '1920:2010',
dateFormat : 'dd-mm-yy',
defaultDate: new Date(2000,01,01)
});
});
</script>
См. http://jqueryui.com/demos/datepicker/#option-defaultDate
Ответ 3
Ваш вопрос немного неясен - я предполагаю, что ваша проблема возникает в пропущенной строке.
Если это правильно, я думаю, что ваша проблема связана с "this". Я не совсем уверен, чего вы ожидаете от "this", но внутри функции он будет объектом window.
Если я нахожусь на совершенно неправильном пути, пожалуйста, обновите вопрос с дополнительной информацией.
Ответ 4
это работает для меня:
var nowDate = new Date(year, month, day, hours, minutes, seconds, milliseconds);
то в подборщике даты вы установите:
defaultDate: nowDate;