0
我已經顯示了我的網頁上使用jQuery UI的多個日曆。日曆工作正常。我正在嘗試獲取日曆的ID,當我點擊日曆上的下一個或上一個按鈕時。我使用的代碼是這樣的:獲取日曆div的ID點擊next/prev按鈕在日曆在jquery
<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它顯示未定義。在日期選擇器的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即CALENDAR1的ID。
的問題將在父母的'多重鏈接()'。我實際上看不到'.ui-datepicker-next'正在動態構建的位置,但是它注意到它會爲輸入創建一個div ** separate **。在獲取ID之前,您需要鏈接一個'find()'來定位輸入字段。它應該仍然返回**一些** ID,所以我猜你可能使用了太多的父母選擇器。嘗試第一次記錄'$(this)',然後從那裏進行鏈接:) –
可以添加更多的ur html?主要是我的意思是包括'ui-datepicker-next'的部分 –