2016-04-27 90 views
0

我在我的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(); 
}); 

+0

你以前提到的jQuery UI的两倍,你需要删除引用的任何一个。我建议删除'' – Irshu

+0

仍然获得价值'01/01/...' – DhavalR

+0

如果你声明如下:'$( ()#datepicker({defaultDate:''}); });' – Irshu

回答

0

嗯,我找到了解决这个。我添加了一个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> 
+1

没有理由使用'defaultDate :' - 如果在将模型传递给视图之前,在控制器中设置了属性'JoinDate'的值,那么将显示该值。 –

+0

其实这个控制器是要创建的。当我在View中使用它时,我不需要'datepicker'。 – DhavalR

+0

这没有任何意义。你为什么问一个关于不需要的东西的问题?为什么你使用'new {id =“joindate”}'''id'已经是'id =“JoinDate”' –