web-dev-qa-db-fra.com

jQuery datepicker, onSelect ne fonctionnera pas

Je ne parviens pas à faire fonctionner onSelect sur mon jQuery datepicker.

Heres mon 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>

C'est comme s'il n'enregistrait pas la fonction onSelect. Qu'est-ce que je fais mal?

48
Tommy Jakobsen

Aucune virgule après la dernière propriété.

Point-virgule après alerte (date);

Affaire sur datepicker (pas datePicker)

Vérifiez vos autres majuscules/minuscules pour les propriétés.

$(function() {
    $('.date-pick').datepicker( {
        onSelect: function(date) {
            alert(date);
        },
        selectWeek: true,
        inline: true,
        startDate: '01/01/2000',
        firstDay: 1
    });
});
84
Antony Carthy

l'équivalent onSelect de datePicker est l'événement dateSelected.

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

Cette page a un bon exemple montrant l'événement dateSelected et les autres événements liés.

15
Ben Koehler
$('.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
                    }
});
6
Z.Y

La meilleure solution consiste à définir les valeurs par défaut de datepicker.

suit le code que j'ai utilisé

$.datepicker.setDefaults({
    onSelect: function () {
        $(this).focus();
        $(this).nextAll('input, button, textarea, a').filter(':first').focus();
    }
});
4
Itamar
<script type="text/javascript">
    $(function() {
        $("#datepicker").datepicker({ 
              onSelect: function(value, date) { 
                 window.location = 'day.jsp' ; 
              } 
        });
    });
 </script>

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

Je pense que vous pouvez essayer ceci. Cela fonctionne très bien.

3
Judy

La fonction datepicker est sensible à la casse et en minuscule. Ce qui suit fonctionne cependant bien pour moi:

$(document).ready(function() {
  $('.date-pick').datepicker( {
    onSelect: function(date) {
        alert(date);
    },
    selectWeek: true,
    inline: true,
    startDate: '01/01/2000',
    firstDay: 1
  });
});
3
samjudson

J'ai téléchargé le datepicker de jqueryui.com/download et j'ai la version 1.7.2 mais la fonction onSelect ne fonctionnait toujours pas. Voici ce que j'avais -

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

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

J'ai trouvé la solution dans cette page - problème avec jquery datepicker onselect . Suppression du $ ("# datepicker"). Datepicker (); une fois et cela a fonctionné.

1
srilatha

Ce devrait être "datepicker", pas "datePicker" si vous utilisez le plugin jQuery UI DatePicker. Peut-être que vous avez un plugin différent mais similaire qui ne supporte pas le gestionnaire de sélection.

0
tvanfosson