jQuery datepicker, onSelect won't work
Asked Answered
R

8

53

I can't get onSelect working on my jQuery datepicker.

Heres my code:

<script type="text/javascript">
$(function() {
    $('.date-pick').datePicker( {
        onSelect: function(date) {
            alert(date)
        },
        selectWeek: true,
        inline: true,
        startDate: '01/01/2000',
        firstDay: 1,
    });
});
</script>

It's like it doesn't register the onSelect function. What am I doing wrong?

Retrieval answered 20/5, 2009 at 12:47 Comment(0)
S
92

No comma after the last property.

Semicolon after alert(date);

Case on datepicker (not datePicker)

Check your other uppercase / lowercase for the properties.

$(function() {
    $('.date-pick').datepicker( {
        onSelect: function(date) {
            alert(date);
        },
        selectWeek: true,
        inline: true,
        startDate: '01/01/2000',
        firstDay: 1
    });
});
Synonym answered 20/5, 2009 at 12:58 Comment(1)
In js you can ommit the semicolon if that's the end of the line and, like in many languages, you can put a comma after the last property.Sidero
S
15

datePicker's onSelect equivalent is the dateSelected event.

$(function() {
    $('.date-pick').datePicker( {
        selectWeek: true,
        inline: true,
        startDate: '01/01/2000',
        firstDay: 1,
    }).bind('dateSelected', function(e, selectedDate, $td) {
        alert(selectedDate);
    });
});

This page has a good example showing the dateSelected event and other events being bound.

Syntactics answered 20/5, 2009 at 13:47 Comment(0)
M
8
$('.date-picker').datepicker({
                    autoclose : true,
                    todayHighlight : true,
                    clearBtn: true,
                    format: 'yyyy-mm-dd', 
                    onSelect: function(value, date) { 
                         alert(123);
                    },
                    todayBtn: "linked",
                    startView: 0, maxViewMode: 0,minViewMode:0

                    }).on('changeDate',function(ev){
                    //this is right events ,trust me
                    }
});
Mardellmarden answered 24/2, 2017 at 6:2 Comment(2)
i guess this is for bootstrap datepicker, nor jquery datepickerGynandromorph
changeDate does not trigger for me. Is there anything else I need to do?Hasidism
S
5

The function datepicker is case sensitive and all lowercase. The following however works fine for me:

$(document).ready(function() {
  $('.date-pick').datepicker( {
    onSelect: function(date) {
        alert(date);
    },
    selectWeek: true,
    inline: true,
    startDate: '01/01/2000',
    firstDay: 1
  });
});
Sievers answered 20/5, 2009 at 12:54 Comment(2)
"Error: Object doesn't support this property or method" on line 14, which is: $('.date-pick').datepicker( {Retrieval
See comment above about which 'date picker' you are using - my example is the JQuery UI one, yours appears to be a different one.Sievers
C
4

The best solution is to set the datepicker defaults

folows the code that I used

$.datepicker.setDefaults({
    onSelect: function () {
        $(this).focus();
        $(this).nextAll('input, button, textarea, a').filter(':first').focus();
    }
});
Creolacreole answered 9/11, 2010 at 13:39 Comment(0)
H
3
<script type="text/javascript">
    $(function() {
        $("#datepicker").datepicker({ 
              onSelect: function(value, date) { 
                 window.location = 'day.jsp' ; 
              } 
        });
    });
 </script>

<div id="datepicker"></div>

I think you can try this .It works fine .

Hornbook answered 14/10, 2012 at 4:2 Comment(0)
C
1

I have downloaded the datepicker from jqueryui.com/download and I got 1.7.2 version but still onSelect function didn't work. Here is what i had -

$("#datepicker").datepicker();

$("#datepicker").datepicker({ 
      onSelect: function(value, date) { 
         alert('The chosen date is ' + value); 
      } 
});

I found the solution in this page -- problem with jquery datepicker onselect . Removed the $("#datepicker").datepicker(); once and it worked.

Chert answered 23/12, 2009 at 17:38 Comment(1)
Howdy found the answer in another thread -- #1274847 I was using datepicker event twice on a div. Should only be initialized once.Chert
I
0

It should be "datepicker", not "datePicker" if you are using the jQuery UI DatePicker plugin. Perhaps, you have a different but similar plugin that doesn't support the select handler.

Insole answered 20/5, 2009 at 12:52 Comment(1)
Aha. Didn't knew there were different date picker plugins. Whats the correct plugin to use then? What I need is the "selectWeek: true" feature, and onSelect.Retrieval

© 2022 - 2024 — McMap. All rights reserved.