我使用jquery UI在我的页面上显示了多个日历。日历工作正常。当我点击日历上的下一个或上一个按钮时,我正在尝试获取日历的ID。我正在使用的代码是:
<div class="calendar" id="calendar1"></div>
<div class="calendar"id="calendar2"></div>
<div class="calendar" id="calendar3"></div>
和jquery代码是
$('.calendar').datepicker({
inline: true,
firstDay: 1,
showOtherMonths: true,
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
});
$(document).on('click', '.ui-datepicker-next', function () {
console.log($(this).parent().parent().parent().attr('id'));
});
它应该显示calendar1 / calendar2 / calendar3,但是在显示id时它显示undefined。 datepicker html就是这个
<div class="calendar hasDatepicker" id="calendar1">
<div class="ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="display: block;">
<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">
<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_1488149175514.datepicker._adjustDate('#calendar50', -1, 'M');" title="Prev">
<span class="ui-icon ui-icon-circle-triangle-w">Prev</span>
</a>
<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_1488149175514.datepicker._adjustDate('#calendar50', +1, 'M');" title="Next">
<span class="ui-icon ui-icon-circle-triangle-e">Next</span>
</a>
因为我们可以看到父呼叫是正确的,如果我使用
它正在工作console.log($('.ui-datepicker-next').parent().parent().parent().attr('id'));
但是这将始终给出第一个div的id,即calendar1。
答案 0 :(得分:0)
截至文件:onChangeMonthYear( Integer year, Integer month, Object inst )
onChangeMonthYear:function(year, month, instance){
console.log(instance.id)
}
所以尝试使用:
$('.calendar').datepicker({
inline: true,
firstDay: 1,
showOtherMonths: true,
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
onChangeMonthYear:function(year, month, instance){
console.log(instance.id)
}
});