Entfernen von ASP MVC @Html.TextBoxFor Kontrolle der Verwendung von jQuery datepicker
Wie verhindere ich, dass die Zeit von der Anzeige bei der Verwendung der jQuery -.datepicker()
? Unten ist der Abschnitt, der das Modell für die beiden Attribute (Aufnahmedatum und-Ablaufdatum)
[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; }
Dies funktioniert gut mit der @Html.EditorFor
Kontrolle über die anzeigen, die ich arbeite. Wenn ich allerdings ändern, dass die Kontrolle von diesem:
@Html.EditorFor(model => model.DateTaken)
zu diesem:
@Html.TextBoxFor(m => m.DateTaken, new { id = "dtkn" })
in, um sich dieser zu arbeiten (label-Steuerelement verfügt über die datepicker
angewendet):
<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>
plötzlich die Zeit beginnt zu zeigen, bis. Irgendwelche Vorschläge?
BEARBEITEN
Ich habe versucht, die folgenden Formate und keiner funktioniert:
$("#dtkn").datepicker({ dateFormat: 'dd-mm-yy' }).val();
$("#dtkn").datepicker({ dateFormat: 'yy-mm-dd' });
$("#dtkn").datepicker('getDate').format('yyyyMMdd');
und so:
$("#dtkn").datepicker('getDate').datepicker('dd/mm/yy');
$('#dtkn').datepicker('option', { dateFormat: 'd MM y' });
Hier ist der Fehler, ich sehe das Chrome-debugging-Konsole:
Uncaught TypeError: Cannot call method 'datepicker' of null
- Duplizieren stackoverflow.com/questions/1328025/...
- Versucht diese Lösungen ohne Glück. Siehe Bearbeitungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit: MVC4-Benutzer können diese
Du willst diese überlastung
Wenn Sie bereit sind zu geben, bis auf die Helfer, nur um es manuell
No overload for method 'TextBoxFor' takes 3 arguments
Mithilfe
@Html.TextBox
im Gegensatz zu@Html.TextBoxFor
ich war in der Lage zu finden, eine überladung, die funktioniert.@Html.TextBoxFor(m => m.DateTaken,"{0:d/M/yyyy}", new { id = "dtkn" })
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d/M/yyy}")]
[DisplayName("Aufgenommen")]
public string DateTaken { get; set;
}