如何改变cluetip中的内容。
$('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});
当cluetip调用cal_box点击时。
当我点击日历时,我会在其中显示日历和待办事项列表我更改了ko.observable()
我只是想当ko.observable的值改变时它应该刷新cluetip框但是应该保留日历所在的位置只是todo列表应该根据该日期refrsh。
<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)
运行时的值更改为具有新数据的功能警报但cluetip保持与我点击cal_box时初始化时相同我希望它重新初始化,或者你再说一遍cl_box但我不是这样做的。
答案 0 :(得分:0)
最好的方法是使用更新功能创建自定义绑定,您可以访问元素和observable,以便从那里更新cluetip。每当值变异时,update函数就会触发。