2014-10-16 12 views
8

Ich arbeite mit einem jquery ui datepicker mit asp.net mvc und wenn die Webseite geöffnet ist, zeigt es das Datum mit der Uhrzeit (2014/10/16 00:00:00) in der Textbox für den Datepicker, aber wenn ich ein Datum in der Textbox für den Datepicker wähle, wird nur das Datum angezeigt. Ich will nicht die Zeit sehen, was ist los?So entfernen Sie Zeit von DatePicker ui jquery

Danke!

Das Objekt im Modell wie dieser Picker

[DataType(DataType.Date)] 
[Required(ErrorMessageResourceType = typeof(Ressources.Resources), ErrorMessageResourceName="ErrorStartDateRequired")] 
[Display(Name = "DateStarted", ResourceType = typeof(Ressources.Resources))] 
public DateTime DateStarted { get; set; } 

gesetzt ist mein Datum wie diese in meiner Web-Seite festgelegt ist:

@section scripts{ 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
    var anchor = document.getElementById('@Model.Anchor'); 
    anchor.scrollIntoView(true); 

    var d = new Date(@Model.Project.DateStarted.Year, @Model.Project.DateStarted.Month, @Model.Project.DateStarted.Day); 
    $("#datePickerStartDate").datepicker({ 
     dateFormat: "yy/mm/dd", 
     showOtherMonths: true, 
     selectOtherMonths: true, 
     showButtonPanel: true, 
     changeMonth: true, 
     changeYear: true, 
     gotoCurrent: true, 
     defaultDate: d 
    }); 
}); 

}

und dies ist, wie die Kontrolle wird in der Webseite (cshtml) gezeigt

+0

Ich bin nicht mit der asp.net Syntax vertraut, aber es scheint, das Problem in Bezug auf den Ausgangswert zu sein, Sie in der Date Picker ... für etwa in der Syntax oben '@Html gesetzt. TextBoxFor (model => model.Project.DateStarted, neu {id = "datePickerStartDate", value = "pawal"}) ', es zeigt den Wert als pawal unabhängig von der Einstellung des datePIckers – Runcorn

Antwort

0

auf diese Art und Weise ändern Skript Zeit mit dem aktuellen Datum zu vermeiden var d zu vermeiden

<script> 
     $("#datePickerStartDate").datepicker(
      { 
       dateFormat: "yy/mm/dd", 
       showOtherMonths: true, 
       selectOtherMonths: true, 
       showButtonPanel: true, 
       changeMonth: true, 
       changeYear: true, 
       gotoCurrent: true, 
      }).datepicker("setDate", new Date()); 
</script> 
23

Schließlich fand ich meine Antwort zuzuordnen. Ich habe "{0: d}" auf der Betrachtungsseite hinzugefügt.

<div class="form-group"> 
    @Html.LabelFor(model => model.Project.DateFinished, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.TextBoxFor(model => model.Project.DateFinished, "{0:d}", new { id = "datePickerEndDate" }) 
     @Html.ValidationMessageFor(model => model.Project.DateFinished) 
    </div> 
</div> 

Dank

+1

Diese Frage und Antwort verdienen viel mehr upvotes! Danke Raphael. –

+0

Danke - das war hilfreich beim Initialisieren meiner Ansicht mit Datetime vom Modell –

0

Dies ist, wie ich es benutzt.

@Html.TextBoxFor(a => a.DOB, new { @class = "form-control", placeholder = "Date of Birth", id = "datetimepicker", TextMode = "date", value = "1/11/1989", onkeyup = "return validateChar(this)", maxlength = "20", style = "width:175px;height:25px;" }) 

<script> 
    $(document).ready(function() { 
     $('#datetimepicker').datetimepicker({ 
      lang: 'en', 
      timepicker: false, 
      closeOnDateSelect: true, 
      dateFormat: "yy/mm/dd" 
     }); 
    }); 
</script> 
0
$("#datePickerStartDate").datepicker({ 
     dateFormat: 'mm/dd/yy', 
     changeMonth: true, 
     changeYear: true, 
     defaultDate: GetCurrentDate(), 
     onSelect: function() { 
      $(this).blur().change(); 
     } 
    });