0

如何更改线索提示中的内容。

 $('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});

当线索提示点击 cal_box 时。

当我单击日历时,我会在其中显示日历和待办事项列表,我会更改ko.observable()

我只希望当 ko.observable 的值发生变化时,它应该刷新提示框,但应该保留单击它的日历,只是待办事项列表应该根据该日期刷新。

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

在这个foreach中,我显示有事件数据的日期,如果它在那里显示,timeline_row否则它应该是空白的

我想要的是当我单击一个日期并且当它更改self.Date(clickedDate)运行时的值更改为具有新数据的函数警报但线索提示保持与我单击 cal_box 时的初始化相同时我希望它重新初始化或者你说再次点击 cal_box 但我没有这样做。

4

1 回答 1

0

最好的方法是使用更新函数创建自定义绑定,您将可以访问元素和可观察对象,以便您可以从那里更新线索提示。每次值发生变化时都会触发更新函数。

于 2013-02-01T11:17:49.000 回答