1

大家好。我想知道如何使用 jquery.ui 作为日期的参考,在接下来的四个月中创建一个包含星期六日期的选择。我只是想创造这样的东西:

<select>
  <optgroup label="July">
    <option value="30/07/2012">30</option>
  </optgroup>
  <optgroup label="August">
    <option value="04/08/2012">4</option>
    <option value="11/08/2012">11</option>
    <option value="18/08/2012">18</option>
    <option value="25/08/2012">25</option>
  </optgroup>
</select> 

...

任何帮助将不胜感激。

非常感谢您的关注。

4

2 回答 2

3

一旦您开始进行任何类型的日期数学运算,您就应该始终评估领先的日期库。jQUEryUI 的日期功能以日期选择器的需求为中心,虽然很棒,但如果您不需要实际的日期选择器,那么最好使用Moment.js 之类的东西

要使用 Moment 查找接下来的几个星期六,您可以执行以下操作:

var thisSaturday = moment().day(6); // 6th day of the week = saturday

var num = 4,
    upcomingSaturdays = [
      thisSaturday
    ];

for (var i = 1; i <= num; i++) {
  upcomingSaturdays.push(moment(thisSaturday).add('days', 7 * i));
}

document.write(upcomingSaturdays.join('<br>'));

​</p>

在 JSFiddle

于 2012-07-26T17:01:21.447 回答
0

This is my final code, thanks to jsoverson, I hope it will be helpful for someone else:

var thisSaturday = moment().day(6); // 6th day of the week = saturday
var num = 16,
    upcomingSaturdays = [
      thisSaturday
    ];
for (var i = 1; i <= num; i++) {
  upcomingSaturdays.push(moment(thisSaturday).add('days', 7 * i).format("DD/MM/YYYY"));
}
jQuery(function() {
    jQuery("select#date").html(upcomingSaturdays.join('<option>'));
});
于 2012-07-27T00:07:25.787 回答