我正在使用以下代码显示内联日期选择器;
$('.show_datepicker').datepicker({
weekStart: 1,
startDate : '2013-07-31',
endDate : '2013-09-30',
format : 'yyyy-mm-dd',
}).on('changeDate', function(e){
$('.datepicker-inline').on('click', '.datepicker_days:not(.disabled)', function() {
$('.loading').show(); // Show loading icon
$("#loading_div").load("loading_url.php",function(){
$('.loading').hide(); // Hide loading icon when finished
});
});
});
问题 1
这一切都很好,除了当我第一次点击一天时它不会触发。在初始点击之后,只要我在页面上就可以了。但是每次我刷新页面时,我都必须第一次点击任何日期才能让它在之后工作。
我想这是因为函数内部有单独的 onclick 事件,但我需要将所有 .disabled 天从调用中排除,并且无法使其正常工作。
问题 2
console.log() 告诉我它触发了多次——当我第二次单击它时它触发了 4 次,当我再次单击它时它触发了 6 次,依此类推。
任何想法将不胜感激!
更新:
这是呈现的日期选择器的 html 代码:
<div id="datepicker" class="show_datepicker table table-hover table-striped" data-date="2013-08-01">
<div class="datepicker datepicker-inline">
<div class="datepicker-days" style="display: block;">
<table class=" table-condensed">
[...]
<tbody>
<tr>
[...]
<td class="datepicker_days day alternative" id="2013-08-12">12</td>
<td class="datepicker_days day alternative" id="2013-08-13">13</td>
<td class="datepicker_days day" id="2013-08-14">14</td>
<td class="datepicker_days day inaktiv btn-link disabled" id="2013-08-15">15</td>
<td class="datepicker_days day" id="2013-08-16">16</td>
<td class="datepicker_days day" id="2013-08-17">17</td>
<td class="datepicker_days day disabled inaktiv btn-link" id="2013-08-18">18</td>
[...]
</tr>
</tbody>
[...]
</table>
</div>
</div>