2013-02-14 4 views
0

J'ai une fonction JQuery dans laquelle j'autorise seulement quelques dates en utilisant la fonction "beforeShowDay". Et j'utilise la fonction OnSelect pour obtenir la date sélectionnée. heureusement les deux fonctionnent bien. Cependant, il y a un problème ici Une fois que je sélectionne une date, son arrière-plan ne change que pour une courte durée, l'arrière-plan surligné revenant à la date actuelle. Si je supprime la fonction OnSelect, cela fonctionne correctement. s'il vous plaît aider voici mon code:Empêche la fonction OnSelect de JQuery Datepicker de réinitialiser CSS

var dates = [[2013, 2, 1],[2013, 2, 9],[2013, 2, 25],[2013,3,15]]; 

$(function(){ 
     $('[id="form1:kix_inline"]').datepicker(
     { 
    beforeShowDay: function (date) 
     { 

      var x= dates.length; 
     var year = date.getFullYear(), month = date.getMonth(), day = date.getDate(); 
     for (var i=0; i < x; i++) 
     { 
     if (year == dates[i][0] && month == dates[i][1] - 1 && day == dates[i][2]) 
     { 
      return [true, 'ui-state-highlight ui-state-active']; 
     } 
     } 
     return [false]; 
    }, 

    onSelect: function(value, date) { 

     var frm = document.getElementById("sendDateForm"); 
     frm.submit(); 

    } 
    }); 
}); 

Problème: Au départ, les seules quelques dates (mentionnées dans le tableau ci-dessus "dates") est activée. Une fois que je clique sur l'une de ces dates, le "style de date actuel" ne restera là que quelques secondes., Il rebondit de nouveau à la date actuelle.

S'il vous plaît Aide [Je suis désolé mon explication est pas clair]

Répondre

1

On dirait que vous soumettez un formulaire dans la fonction onSelect:

var frm = document.getElementById("sendDateForm"); 
    frm.submit(); 

Le soumettre rechargements la page, et c'est pourquoi il ne fait que clignoter la bonne couleur, puis revient à la date d'origine, la page a été rechargée! Si vous devez envoyer le formulaire et ne pas recharger la page, vous devrez utiliser ajax.

+0

Merci pour la suggestion. mais je ne sais pas comment faire ça non plus. coz si c'est une application jsp normale puis je peux ajax soumettre à servlet, mais maintenant dans JSF je dois soumettre le formulaire à Managed bean. Répond s'il te plait. –

Questions connexes