Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日历图标日历的OnClick未打开Jquery日期选择器_Javascript_Jquery_Datepicker_Calendar_Bootstrap Modal - Fatal编程技术网

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" );
    })
});