The problem you are seeing is that the date in your input field ("9999-12-31") is outside the range you specified ("2000: +1"). This range gives dates from 2000-2019 (end of year - today is the year plus one, according to the specification).
You also said: "But if I delete yearRange, then the DatePicker will by default have a range from -10: +10." Not really. By default it is equal to βc-10: c + 10β, which, if you look at the specification, is not quite the same - βcβ means that it puts a range of 10 years +/- year on the input, as opposed to present day.
I think this misunderstanding led to your mistake. If you want it to display the date 9999, set the range to year
yearRange: "2000:c+1"
This will set the maximum year as the year of input +1, unlike today's year +1.
See http://jsfiddle.net/5ornc4gv/7/ for a demo.
http://api.jqueryui.com/datepicker/#option-yearRange contains information about format strings.
As I noted in the comments, this would be a problem if your software used NULL to represent the βend dateβ of time periods without a real end date for the definition. Also, the drop-down list in yearpicker, which is released in your annual range, is difficult to use and may cause some lag in some browsers due to the amount of data in it.
source share