使用 jQuery .datepicker()
时如何防止时间显示?以下是两个属性(获取日期和到期日期)的模型部分
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
[DisplayName("Expiration Date")]
public string ExpirationDate { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
[DisplayName("Date Taken")]
public string DateTaken { get; set; }
在我正在处理的 View 上使用 @Html.EditorFor
控件效果很好。但是,当我从此更改该控件时:
@Html.EditorFor(model => model.DateTaken)
对此:
@Html.TextBoxFor(m => m.DateTaken, new { id = "dtkn" })
为了让它工作(标记哪个控件应用了datepicker
):
<script>
$(function () {
$("#dtkn").datepicker('setDate');
$("#exp").datepicker('setDate');
});
$.datepicker.setDefaults({
buttonImageOnly: true,
buttonImage: '<%=Url.Content("~/Content/images/magnify.gif") %>',
defaultDate: -1,
gotoCurrent: true,
prevText: "<< Prev",
nextText: "Next >>"
});
</script>
突然时间开始出现。有什么建议么?
编辑
我尝试了以下格式,但没有一个有效:
$("#dtkn").datepicker({ dateFormat: 'dd-mm-yy' }).val();
$("#dtkn").datepicker({ dateFormat: 'yy-mm-dd' });
$("#dtkn").datepicker('getDate').format('yyyyMMdd');
还有这个:
$("#dtkn").datepicker('getDate').datepicker('dd/mm/yy');
$('#dtkn').datepicker('option', { dateFormat: 'd MM y' });
这是我在 Chrome 调试控制台中看到的错误:
Uncaught TypeError: Cannot call method 'datepicker' of null
最佳答案
编辑:MVC4 用户可以使用此
你想要这个重载
@Html.TextBoxFor(m => m.DateTaken, "{0:MM/dd/yyyy}", new { id="dtkn" })
如果你愿意放弃助手而直接手动操作
<input type="text" value="@Model.DateTaken.ToString("MM/dd/yyyy")" id="dtkn" />
关于jquery - 使用 jQuery 日期选择器从 ASP MVC @Html.TextBoxFor 控件中删除时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707982/