I am developing a asp.net MVC4 project where i use lots of JqueryUI datepicker.
For one of my date picker when i tried to click on datepicker image i am getting some error like,
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');
}
Here i have a Textfield and a datepicker image.When i click on datepicker image datepicker will popup .
i have followed the similar way in other datepicker and they are working fine.I have only problem with this date picker.
Any help is appreciated.
In my case, this was caused because I had an span with id
date
and the input had the same id. Giving the input a different id solved the problem.I think your datepicker wasn't created correctly, so when you call
show
, it expects asettings
object.Probably you didn't create it inside
$(document).ready
, you should have:Hope this helps. Cheers
Had the same issue because I had both @Html.TextBoxFor(m => m.StartDate, "{0:dd/MM/yyyy}", new { @class = "DatePicker" }) and @Html.HiddenFor(m => m.StartDate)
in the same form on my view.
That same error will be shown if you try to open a datepicker on an input field who has the class "hasDatepicker" assigned. Simply remove this class in the html.
Before:
After:
You are including the
jquery-ui-1.10.3.min.js
library.Your issue is caused by duplicating your jQuery UI core scripts.(check if you are including any other librady such as
jquery-ui-1.10.3.drag-drop.min.js
.Load just them once, and your issue will go away.