Ich entwickle ein asp.net MVC4-Projekt, in dem ich viele JqueryUI-Datepicker verwende.
Für einen meiner Date-Picker, als ich versuchte, auf das Datepicker-Bild zu klicken, erhalte ich eine Fehlermeldung wie:
Uncaught TypeError: Cannot read property 'settings' of undefined jquery-ui-1.10.3.min.js:9
Html
<div>
<input type="text" id="tsDte" style="font-size: 14px;width: 50%" >
<img src="~/Images/dayPicker.png" onclick="tsDatePickerClick()" style="vertical-align:bottom"/>
</div>
Javascript
var currentDate = new Date();
$("#tsDte").datepicker({
dateFormat: 'yy-mm-dd',
maxDate: 0,
changeYear: true
}).attr('readonly', 'readonly');
$("#tsDte").datepicker("setDate", currentDate);
function tsDatePickerClick() {
$("#tsDte").datepicker('show');
}
Hier habe ich ein Textfeld und ein Datepicker-Bild. Wenn ich auf Datepicker-Bild klicke, wird datepicker eingeblendet.
ich habe die gleiche Art und Weise in anderen Datepicker gefolgt und sie funktionieren gut. Ich habe nur Probleme mit diesem Datumsauswahl.
Jede Hilfe wird geschätzt.
Ich glaube, Ihr Dateipicker wurde nicht korrekt erstellt. Wenn Sie show
aufrufen, erwartet Sie ein settings
-Objekt.
Wahrscheinlich haben Sie es nicht in $(document).ready
erstellt. Sie sollten Folgendes haben:
$(document).ready(function(){ //Add this line (and it's closing line)
var currentDate = new Date();
$("#tsDte").datepicker({
dateFormat: 'yy-mm-dd',
maxDate: 0,
changeYear: true
}).attr('readonly', 'readonly');
$("#tsDte").datepicker("setDate", currentDate);
});
Hoffe das hilft. Prost
Der gleiche Fehler wird angezeigt, wenn Sie versuchen, ein Datepicker in einem Eingabefeld zu öffnen, dem die Klasse "hasDatepicker" zugewiesen ist. Entfernen Sie diese Klasse einfach in der HTML-Datei.
Vor:
<input type="text" value="01/01/2014" class="hasDatepicker">
Nach dem:
<input type="text" value="01/01/2014">
Sie enthalten die jquery-ui-1.10.3.min.js
-Bibliothek.
Ihr Problem wird durch das Duplizieren Ihrer jQuery-UI-Kernskripts verursacht (prüfen Sie, ob Sie eine andere Bibliothek wie jquery-ui-1.10.3.drag-drop.min.js
verwenden.).
Laden Sie nur einmal, und Ihr Problem wird verschwinden.
Hatte das gleiche Problem, weil ich beides hatte. @ Html.TextBoxFor (m => m.StartDate, "{0: TT/MM/JJJJ}", neu {@class = "DatePicker"}) Und @ Html.HiddenFor (m => m.StartDate)
in der gleichen Form aus meiner Sicht.
In meinem Fall war dies darauf zurückzuführen, dass ich eine Spanne mit der ID date
hatte und die Eingabe dieselbe ID hatte. Die Eingabe einer anderen ID hat das Problem gelöst.