我正在使用一个名为pickadate的插件,我正在尝试从所选日期获取aria标签文本并将其应用到div上。我能够检索一次值,但如果你点击另一天,#date中的日期不会更新?
var $elements = {
datepicker: $('.js-datepicker'),
};
$elements.datepicker.pickadate();
$('.picker__day').on('click', function () {
var date = $(this).attr('aria-label');
$('#date').empty().text(date);
});
答案 0 :(得分: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您可以找到更多相关信息。
答案 1 :(得分: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;
});