2009-06-02 8 views
3

Je souhaite utiliser une image d'un calendrier pour afficher/masquer le quantième jquery. Basé sur la documentation, il semble que je dois définir buttonImage et buttonImageOnly, ce que j'ai. le sélecteur de date fonctionne mais il est toujours visible. voici mon code:jquery: faire un sélecteur de date afficher/masquer via l'image?

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#datepicker").datepicker({ 
    altField: '#from', 
    altFormat: 'yymmdd', 
    buttonImage: 'datepicker.png', 
    buttonImageOnly: true, 
    defaultDate: <?=getDaysFromToday($_GET['from'])?>, 
    showOn: 'focus' 
    }); 
}); 

$('#datepicker').datepicker({ 
    onSelect: function(dateText, inst) { 
    $("#myform").submit(); 
    } 
}); 
</script> 

Je tente aussi de le faire soumettre un formulaire lorsque vous choisissez une date, je ne peux pas sembler obtenir que ce soit pour travailler.

Est-ce que je fais quelque chose de mal?

Merci!

Répondre

9

Remplacer

showOn: 'focus' 

avec

showOn: 'button' 

Cela rendra le datepicker apparaissent uniquement lorsque le bouton est cliqué, pas quand le champ de texte obtient le focus.

Impossible de vous expliquer pourquoi le formulaire submit ne fonctionne pas. Avez-vous lié des événements de soumission au formulaire qui pourrait renvoyer faux?

Depuis this Refres à l'élément d'entrée à l'intérieur du gestionnaire d'événements, peut-être vous pouvez essayer pour le soumettre:

this.form.submit(); 

Modifier après commentaire: Jetez un oeil à this example, le bouton est ajouté automatiquement.

Je viens de me rendre compte que vous avez deux appels distincts au datepicker. La combinaison des deux en un seul pourrait aider à résoudre vos problèmes d'événement:

$("#datepicker").datepicker({ 
    altField: '#from', 
    altFormat: 'yymmdd', 
    buttonImage: 'datepicker.png', 
    buttonImageOnly: true, 
    defaultDate: <?=getDaysFromToday($_GET['from'])?>, 
    showOn: 'focus'. 
    onSelect: function(dateText, inst) { 
     $("#myform").submit(); 
    } 
}); 
+0

Merci, je essayé, pas de chance. Suis-je censé ajouter manuellement un bouton? ou est-ce censé ajouter le bouton pour moi? La documentation ne dit pas vraiment. –

+0

Après avoir regardé votre exemple, j'ai remarqué que #datepicker était le texte d'entrée en question que je l'ai eu comme div séparé. Après avoir changé cela, le marqueur de date est initialement caché et le bouton est maintenant là. Cependant, cliquer sur le bouton ne semble rien faire. Je pense qu'aucun des événements jquery ne se déclenche parce que je ne peux pas déclencher d'autres événements. Peut-être que cela devrait être une nouvelle question si. –

+1

Votre dernière modification a tout réglé !! J'avais besoin de combiner les 2 appels. Merci!! –