2013-04-26 104 views
1

我试图把开箱即用的日期选择器作为基于日历的状态显示重新调整它的用途。jquery ui datepicker添加自定义列

我在尝试填充附加列时遇到问题。此代码更新值的情况很好,但结果总是最大的一周数,在本例中是第13周。我已经通过这个步骤并可以看到第1周,第2周等正在应用,我只是不知道如何使第1周坚持第1周,第2周坚持2,依此类推。最后,我将添加一个ajax函数来以真实百分比填充这些值。

$('td.ui-datepicker-week-col').each(function (index) { 
    var weekno = $(this).text(); 
    var pctValHTML = "<td id=pct-val-" + weekno + " class='pctVal'>" + weekno + "</th>"; 
    $("td.pctVal").replaceWith(pctValHTML); 
}); 

如何更新我的新栏目?

这里显示了当前行为,我的小提琴:http://jsfiddle.net/mv5492/PuWWS/1/

注意,刷新(单击某一天,得到警报)清除所添加的列。我正在分开看那个。

谢谢,迈克

回答

0

这条线:

$("td.pctVal").replaceWith(pctValHTML); 

是选择每一个td.pctVal和替换HTML。这会导致每个td.pctVal都包含迭代的最后一周的值。你可能想是这样的,而不是:

$(this) 
    .closest('tr')   // find the common ancestor `tr` 
    .find('td.pctVal')  // from there, find the correct `td.pctVal` 
    .replaceWith(pctValHTML); 

更新例如:http://jsfiddle.net/PuWWS/7/

+0

好极了!谢谢。 – Mike 2013-04-26 14:47:46

+0

@Mike:没问题!很高兴我能帮上忙。 – 2013-04-26 14:48:03