jQuery UI DatePicker没有设置TextBox的值
我在我的MVC应用程序中在HtmlTextBoxFor
上添加了jQueryUI DatePicker
。以下是我的代码。现在,当我调试时,日期在create
事件中显示01/01/2001 12:00:00
,而不是所选日期。jQuery UI DatePicker没有设置TextBox的值
<!-- JoinDate -->
<div class="form-group">
<div class="editor-label">
@Html.LabelFor(model => model.JoinDate, new { @class = "col-sm-2 control-label" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.JoinDate, new { @class = "form-control", @id = "datepicker" })
@Html.ValidationMessageFor(model => model.JoinDate)
</div>
<script src="~/Content/js/jquery.js"></script>
<script src="~/Scripts/jquery-ui-1.11.4.min.js"></script>
<script>
$(function() {
$("#datepicker").datepicker();
});
嗯,我找到了解决这个。我添加了一个input
并将它分配给jQueryUI datepicker
。现在onSelect
事件,它只是将值设置为TextBoxfor
。请参阅下面的代码。
<script>
$(function() {
$("#datepicker").datepicker();
});
<script>
$('#datepicker').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
constrainInput: true,
defaultDate: new Date(1975, 1 - 1, 1),
yearRange: "2000:2025",
onSelect: function() {
alert($('#datepicker').val());
$('#joindate').val($('#datepicker').val());
}
});
</script>
<!-- JoinDate -->
<div class="form-group">
<div class="editor-label">
@Html.LabelFor(model => model.JoinDate, new { @class = "col-sm-2 control-label" })
</div>
<div class="editor-field">
<input type="text" id="datepicker" onchange="onDateChange()"/>
@Html.TextBoxFor(model => model.JoinDate, new { @class = "form-control", @id="joindate" })
@Html.ValidationMessageFor(model => model.JoinDate)
</div>
</div>
没有理由使用'defaultDate :' - 如果在将模型传递给视图之前,在控制器中设置了属性'JoinDate'的值,那么将显示该值。 –
其实这个控制器是要创建的。当我在View中使用它时,我不需要'datepicker'。 – DhavalR
这没有任何意义。你为什么问一个关于不需要的东西的问题?为什么你使用'new {id =“joindate”}'''id'已经是'id =“JoinDate”' –
你以前提到的jQuery UI的两倍,你需要删除引用的任何一个。我建议删除'' – Irshu
仍然获得价值'01/01/...' – DhavalR
如果你声明如下:'$( ()#datepicker({defaultDate:''}); });' – Irshu