2013-02-01 2 views
0

comment changer quoi dans la griffe.Comment rafraîchir Cluetip lorsque la valeur de knockout observable change

$('a.cal_box').cluetip({local:true, hideLocal: true ,onShow: function(ct, ci){ this.calendar = $('<div>').datepicker({ beforeShowDay: daysToMark,onSelect: function(dateText, inst) { 
    var date = $(this).datepicker('getDate'); 
    //var c = ko.contextFor($("#KnockOutCalendar")[0]); 
    calendarObject.$data.Date(date.getFullYear()+'-'+date.getMonth()+'-'+date.getDate()); 
    calendarObject.$data.Time(date.getHours()); 
    //$('a.cal_box').cluetip({local:true,activation:'hover', hideLocal: true, sticky: true, arrows: true, cursor: 'pointer',width:970, height:530}); 
    } }).appendTo(ci); }, onHide: function(ct, ci){ this.calendar.datepicker("destroy").remove(); }, sticky: true, arrows: true, cursor: 'pointer',width:970, height:530}); 

lorsque l'étiquette a appelé le clic de cal_box.

i voir le calendrier et dans une liste lorsque je clique sur le calendrier je change la ko.observable()

je veux juste quand la valeur du changement ko.observable il faut rafraîchir la boîte de cluetip mais devrait conserver le calendrier où il a été cliqué juste la liste de todo devrait être refrsh selon cette date.

<div id="KnockOutCalendar" data-bind="foreach: {data:Calendar,afterRender: myPostProcessingLogic}"> 
      <!-- ko if: $parent.ChangeDate(dstart) == $parent.Date() --> 
      <div class="timeline_row"> 

       <div class="timeline_row_heading" ><span data-bind="text: $parent.ChangeTime(dstart)"></span>:00</div> 
       <div class="timeline_row_content showcalen_entry"><span data-bind="text: dstart"></span> - <span data-bind="text: subject"></span></div> 

      </div> 
      <!-- /ko --> 
      </div> 

dans ce foreach i affichage date à laquelle il existe des données sur l'événement que si elle affiche là le timeline_row sinon il devrait être vide

ce que je veux est quand je clique sur une date et quand change le self.Date(clickedDate) la valeur change à l'exécution comme la fonction alerte avec de nouvelles données mais cluetip reste la même comme elle a été initialisée quand je clique sur cal_box je veux la réinitialiser ou tu dis encore cliking sur cal_box mais je ne le fais pas.

Répondre

0

Le meilleur moyen est de créer une liaison personnalisée avec une fonction de mise à jour, vous aurez accès à la fois à l'élément et à l'observable afin que vous puissiez mettre à jour le cluetip à partir de là. la fonction de mise à jour se déclenche chaque fois que la valeur mute.

+0

comment je peux faire cela s'il vous plaît aider quand je clique sur une date 'calendarObject. $ Data.Date (date.getFullYear() + '-' + date.getMonth() + '-' + date .avoir un rendez-vous()); ' les données changent en date.if j'appelle une fonction d'ici quoi écrire dans cette fonction. Parce que voir le problème n'est pas dans knockout vale changement problème est je ne peux pas changer cluetip sur le clic d'une date – rohitarora

+0

S'il vous plaît créer un jsfiddle je peux vous aider à le faire fonctionner – Anders

+0

je ne peux pas montrer que js fiddle comme j'ai api est en cours d'exécution pour aller chercher des données.let moi éditer ma question de manière plus précise avec cde – rohitarora

Questions connexes