在JQuery UI datepicker中选择周数或日期

时间:2014-09-09 13:48:36

标签: javascript jquery jquery-ui datepicker

这是我第一次使用jQuery UI,而且我的JS技能也处于初学者水平。

我的问题是什么:

我想使用JQuery UI datepicker来选择:

  1. 点击一天时获得一个日期 或
  2. 点击周数时获取日期范围。
  3. 如何获取日期/日期范围?但是得到一个简单的工作示例会很好。

2 个答案:

答案 0 :(得分:3)

也许这样的事情会对你有所帮助:

$( "#datepicker" ).datepicker({
showWeek: true,
firstDay: 1
});

// Highlight week on hover week number
$(document).on("mouseenter",".ui-datepicker-week-col",
               function(){$(this).siblings().find("a").addClass('ui-state-hover');} );
$(document).on("mouseleave",".ui-datepicker-week-col",
               function(){$(this).siblings().find("a").removeClass('ui-state-hover');} );

// Select week on click on week number
$(document).on("click",".ui-datepicker-week-col",
   function(){
       $first = $(this).siblings().find("a").first();
       $last = $(this).siblings().find("a").last();
       $first.click();
       $parentFirst = $first.parent();
       $parentLast = $last.parent();
       $("#datepicker").val(
       (Number($parentFirst.data("month"))+1)+"/"+$first.text()+"/"+$parentFirst.data("year")
           + " - " +
        (Number($parentLast.data("month"))+1)+"/"+$last.text()+"/"+$parentLast.data("year")
       );
    });

小提琴演示:http://jsfiddle.net/lparcerisa/hw1tpthb/3/

答案 1 :(得分:0)

只需使用日期,将天数减去7即可获得周数。试试这个:

var selectedDate = $('#datepicker").datepicker( "getDate" );

var iterator = selectedDate;

var year = selectedDate.getFullYear();

var weeksCount = 0;
while (iterator.getFullYear() == year)
{
    iterator = new Date(iterator.getFullYear(),
                        iterator.getMonth(),
                        iterator.getDate()-7);

    weeksCount++;
}

weeksCount将有周数:)