我正在使用以下JavaScript插件:jQuery Slide Over
它使我可以在主要内容上显示一个滑动面板。我正在使用它进行过滤。
通常情况下,它运作良好,但是我在让jQuery Date Picker合作方面遇到问题。似乎日期选择器不会应用于输入,因为它开始是隐藏的。因此,我尝试使用“ onOpen”事件来应用日期选择器..但这也不起作用。
我在这里创建了这个问题的JS小提琴:
JS Fiddle
并且由于SO不允许我在没有随附代码的情况下发布小提琴,因此它是:
的JavaScript
$('#TestDate').datepicker({ maxDate: 0, dateFormat: 'yy-mm-dd' });
$('*[data-slideover="open"]').slideOver({
orientation: 'left',
animationSpeed: 300,
overlayColor: 'rgba(18,19,20,0.9)',
onOpen: function () {
var selectedDatePicker = $('#SelectedDate');
if (!selectedDatePicker.hasClass('hasDatepicker')) {
selectedDatePicker.datepicker({ maxDate: 0, dateFormat: 'yy-mm-dd' });
}
}
});
的HTML
<div class="container-fluid">
<a href="#slideover1" class="btn btn-primary" data-slideover="open">
<i class="fa fa-filter"></i>
</a>
<div id="slideover1" class="slideover-content">
FILTERS
<input type="text" id="SelectedDate" name="SelectedDate" value="2017-01-01" class="form-control" />
</div>
<div class="row">
<div id="main-container" class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
BLAH BLAH BLAH
<br />
<input type="text" id="TestDate" name="TestDate" value="2017-01-01" class="form-control" />
</div>
</div>
</div>
的CSS
.slide-over{
width:30%;
min-width:300px;
}
您将看到2个日期选择器-其中1个位于主要内容区域中,并且可以正常工作(仅用于演示目的),而有问题的一个则位于滑出面板内部,可以通过按左上方的按钮来触发。
如何使日期选择器在面板上方的幻灯片中工作?
最佳答案
该插件正在复制内容,因此本质上您将获得2个selectedText输入。如果打开过滤器,请右键单击并检查输入,将ID更改为其他名称,然后运行日期选择器代码,它将起作用。
如果更改为:var selectedDatePicker = $('。selectedDate');它会起作用,但不确定通过表单传递数据的可靠性。
更新:
由于具有2个具有相同ID的输入,因此跳回1899是一个问题。也许更改您用于幻灯片的插件/查看其文档和支持可能会有所帮助。
更新:
备用插件建议:
https://simple-sidebar.github.io/simpler-sidebar/
关于javascript - 隐藏在页面加载时,jQuery日期选择器不会初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44672905/