我是JavaScript新手,并且总体上仍然是一种新的Web开发方式,所以我可能会在某处理解这里。
这里是: 在 ASP.NET MVC 项目中,使用实体框架和 Razor 。
我使用bootstrap datepicker尝试创建内联多日期选择器。我使用隐藏的输入字段来捕获日期选择器中的日期列表,如下所示(注意:我在这里使用隐藏输入字段的原因是因为我不想显示文本框,只有内联的datepicker。但是,我不能让DatePicker显示为内联,也使用输入div来捕获多日期字符串。):
<div id="datepicker" class="datepicker datepicker-inline" data-date-format="dd/mm/yyyy"/>
<input type="hidden" id="hiddenForDates" value="@Model.SelectedDateString" name='@Html.NameFor(model => model.SelectedDateString)'/>
然后将一些脚本绑定在:
$(document).ready(function () {
$('.datepicker').datepicker({
multidate: true,
inline: true
});
$('#datepicker').on("changeDate", function () {
$('#hiddenForDates').val(
$('#datepicker').datepicker('getFormattedDate'))
});
});
HTML输入捕获datepicker
的日期字符串(例如&#34; 01/01 / 2016,01 / 02/2015&#34; ...)。然后在脚本中我设置DatePicker
,当changeDate
事件发生时,将输入中的值更新为日期字符串。
我遇到的问题是在加载页面时,我希望DatePicker
使用输入中的值来播种(现在它似乎以单向填充)。当我的页面加载时,隐藏的输入包含日期字符串,但datepicker
没有选择日期。
我已根据文档尝试了setDates
和setUTCDates
,但这似乎没有帮助(我的值是一串逗号分隔的值,但即使我构建了一个日期数组并没有什么区别)。
有人有任何建议吗?
注意:我还应该指出,我已经能够使用以下方式使用它:
@Html.TextBoxFor(model => model.SelectedDateString, new{ @class = form-control datepicker})
但这不允许我使用内联日期选择器。