我的日历在日期选择时没有关闭。所以我已经定位了一个类(.day)来点击时关闭日历。但是,当我重新打开日历并选择新日期时,它不会再次关闭。我在这里寻找答案,虽然类似的标题和问题但代码并不完全相同......
$('.day').click(function () {
$(".datepicker").hide();
});
<span class="input-append date dp-ticket" data-date="today" data-date-format="dd-mm-yyyy">
<input type="text" class="add-on form-control col-xs-10 col-sm-10 col-md-10 col-lg-10" placeholder="Or, choose any date" name="startdate" id="startdate">
<button class="add-on btn btn-search col-xs-2 col-sm-2 col-md-2 col-lg-2" type="button">
<span class="icon-calendar"></span>
</button>
</span>
答案 0 :(得分:0)
尝试使用。
$('.day').on('click', function () {
$(".datepicker").hide();
});
答案 1 :(得分:0)
很抱歉,除了jQuery之外,我没有在代码示例中看到.day或.datepicker。也许我错过了什么......大笑
我的猜测是脚本注册了原始的hide事件,但没有注册,当你尝试更改日期时,再次显示.datepicker,所以只要脚本知道它在你更改日期时仍然隐藏。
您可以尝试使用.change()
来检测日期字段值的更改(或者您放置日期数据的位置。)
$(".foo").val().change(function() {
$(".datepicker").hide();
});
您可能需要设置默认值,但每次更改时都会运行隐藏.datepicker的功能。
答案 2 :(得分:0)
我不确定.day
是如何被称赞的,因为你没有在你的代码中显示它,但因为它只触发一次,我想你正在向DOM添加.day
动态。
如果是这种情况,您可以这样做:
$('SELECTOR_OF_PARENT').on('click', '.day', function(){
$(".datepicker").hide();
});
您也可以这样做
$(document).on('click', '.day', function(){
$(".datepicker").hide();
});
以下是.on()