Javascript 日历图标日历的OnClick未打开Jquery日期选择器
我在项目中对Javascript 日历图标日历的OnClick未打开Jquery日期选择器,javascript,jquery,datepicker,calendar,bootstrap-modal,Javascript,Jquery,Datepicker,Calendar,Bootstrap Modal,我在项目中对input=text元素使用了Jquery日期选择器。每当我点击一个输入元素,我的日历就会打开。但是每当我点击日期选择器的图标时,我的日历就不会被打开。我在想象为什么会这样 下面是我的html <span class="datepicker"><input type="text" id="feRouteDate" /><i class="fa fa-calendar" aria-hidden="true"></i></span&g
input=text
元素使用了Jquery日期选择器。每当我点击一个输入元素,我的日历就会打开。但是每当我点击日期选择器的图标时,我的日历就不会被打开。我在想象为什么会这样
下面是我的html
<span class="datepicker"><input type="text" id="feRouteDate" /><i class="fa fa-calendar" aria-hidden="true"></i></span>
那么,我应该如何在点击日历图标时打开日历呢。下面是加载页面时的样子
您只需将单击事件添加到fa日历
元素中即可
$('.fa-calendar').click(function () {
$('#feRouteDate').datepicker();
});
日历的默认行为,仅当关联的输入框被单击时才会打开。但是,您也可以单击其他元素打开它。使用:
$("#some-element").click(function(){
$('#my-date-picker').datepicker( "show" );
})
因此,请修改您的代码:
HTML:
<span class="datepicker"><input type="text" id="feRouteDate" /><i class="fa fa-calendar" id="icon" aria-hidden="true"></i></span>
日历上的单击事件应使用日期选择器来显示日历。(“显示”)
使用同级(“输入”)
将允许检测应打开其日期选择器的日历图标最近的输入
//设置所有日期选择器输入
$(“#feRouteDate,#feRouteDate 2”).datepicker({
日期格式:“日/月/年”,
最大日期:0
});
//单击日历图标可以显示日期选择器
$(“.fa日历”)。在(“单击”,函数(){
$(this).sides(“输入”).datepicker(“显示”);
});代码>
日期选择器演示
这不是准确的答案,如果我有100个日历输入,那么我应该在点击事件中添加100个吗?我想一些单一的通用的方法可以为您做到这一点。是的,可能在日期选择器中提供,但我不确定。。你有什么猜测或诡计吗?我只发现这个可以解决。可能您可以在所有图标上使用某个类,然后单击显示最近的日期选取器,或者将日期选取器id
传递到单击事件。类似于此,我无法将所有输入设置为日期选择器。您是否知道(除了向按钮添加“显示”功能外)是否可以禁用您单击文本框时日历显示的默认行为,以便日历仅在您单击按钮时显示?可以尝试全局绑定事件$(document).on(“click”,“.fa calendar”,function(){$(“.datepicker”).show()});
<span class="datepicker"><input type="text" id="feRouteDate" /><i class="fa fa-calendar" id="icon" aria-hidden="true"></i></span>
$(function(){
$('#feRouteDate').datepicker({
dateFormat: 'dd-mm-yy',
altField: '#thealtdate',
altFormat: 'yy-mm-dd'
});
$("#icon").click(function(){
$('#feRouteDate').datepicker( "show" );
})
});