JqueryUI Datepicker: Uncaught TypeError: Cannot read property 'settings' of undefined?

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.

Answers


I think your datepicker wasn't created correctly, so when you call show, it expects a settings object.

Probably you didn't create it inside $(document).ready, you should have:

$(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);
});

Hope this helps. Cheers


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:

<input type="text" value="01/01/2014" class="hasDatepicker">

After:

<input type="text" value="01/01/2014">

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.


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.


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.


Need Your Help

How do you print received cookie info to stdout with curl?

bash unix cookies curl

How do you print received cookie info to stdout with curl?

Getting a single character out of a string

string rust

I want to get the first character of a std::str. The method char_at() is currently unstable, as is slice_chars in std::string::String.