2016-04-27 6 views
0

Я добавил jQueryUI DatePicker в HtmlTextBoxFor в мое приложение MVC. Ниже мой код. Теперь, когда я отлаживаю, дата показывает 01/01/2001 12:00:00 в событии create вместо выбранной даты.jQuery UI DatePicker не устанавливает значение TextBoxFor

<!-- 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

Что делать, если вы объявите его как: '$ (function() { $ ("# datepicker"). 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

На самом деле этот контроллер должен создавать. Когда я использую его в представлении, мне не понадобится 'datepicker'. – DhavalR

+0

Это не имеет смысла. Почему вы задаете вопрос о чем-то, что не нужно? И почему вы используете 'new {id =" joindate "}' - 'id' уже' id = "JoinDate" ' –

 Смежные вопросы

  • Нет связанных вопросов^_^