2015-07-16 2 views
2

Я использую плагин под названием pickadate, и я пытаюсь получить текст метки арии с выбранной даты и применить его к div. Я могу получить значение один раз, но если вы нажмете на другой день, дата в #date не будет обновлена?jQuery - получение текста из атрибута

http://jsfiddle.net/mg6fxqbe/

var $elements = { 
    datepicker: $('.js-datepicker'), 
}; 

$elements.datepicker.pickadate(); 


$('.picker__day').on('click', function() { 
    var date = $(this).attr('aria-label'); 
    $('#date').empty().text(date); 
}); 
+0

Что говорит документация? – Amit

ответ

1

Как описано в документации для DatePicker плагина вы можете использовать onSet событие, чтобы получить текущую дату, которая была задавать.

Событие onSet является единственным обратным вызовом, которому передается аргумент контекста, который содержит сведения о том, какие свойства «установлены».

В рамках всех шести этих событий этот относится к сборщику.

$('.js-datepicker').pickadate({ 
 
    onSet: function() { 
 
     $('#date').text(this.$node.val()); 
 
    } 
 
});
#date{ font-weight:bold; font-size:40px; margin:20px 0; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://amsul.ca/pickadate.js/vendor/pickadate/lib/picker.js"></script> 
 
<script src="http://amsul.ca/pickadate.js/vendor/pickadate/lib/picker.date.js"></script> 
 
<input class="js-datepicker" type="text" placeholder="Select date" /> 
 
<div id="date"></div>

Here вы можете найти более подробную информацию по этому вопросу.

+0

Отличная благодарность – Adam

0

Попробуйте это:

var $elements = { 
    datepicker: $('.js-datepicker'), 
}; 

$elements.datepicker.pickadate(); 


$('.picker__day').on('click', function (e) { 
    $('#date').empty(); 
    var date = $(e.target).attr('aria-label'); 
    $("#date").html(date); 
    return false; 
}); 

Updated fiddle

+0

Хотите прокомментировать, почему вы остановили рабочий пример? – brroshan

+0

Удивительный, который работает благодаря! Не уверен, почему кто-то отказал вам – Adam

+0

Кто-то, вероятно, проголосовал, потому что, если вы читаете документы для плагина datepicker, вы найдете гораздо более простое решение, даже не добавляя слушателя к событию click, которое, очевидно, уже присутствует. Существует событие 'onSet', которое срабатывает всякий раз, когда вы устанавливаете новую дату. – DavidDomain

Смежные вопросы