Javascript jQuery DatePicker-选择一整周

Javascript jQuery DatePicker-选择一整周,javascript,jquery,jquery-ui,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Jquery Ui Datepicker,我使用两个jQuery日期选择器来选择日期范围。有没有办法选择一整周?这意味着打开开始日期选择器时,将有两种选择方法: 选择一个开始日期(不影响结束日期选择器) 选择一整周(将开始日期选择器设置为一周的第一天,然后将结束日期选择器设置为最后一天) 在asp日历中,可以通过将属性设置为“DayWeek”来完成类似的操作,但我没有办法在jQuery datepicker中实现这一点。这可以做到吗?以下是我最终实现这一目标的原因: // A click on a week number cell

我使用两个jQuery日期选择器来选择日期范围。有没有办法选择一整周?这意味着打开开始日期选择器时,将有两种选择方法:

  • 选择一个开始日期(不影响结束日期选择器)
  • 选择一整周(将开始日期选择器设置为一周的第一天,然后将结束日期选择器设置为最后一天)

在asp日历中,可以通过将属性设置为“DayWeek”来完成类似的操作,但我没有办法在jQuery datepicker中实现这一点。这可以做到吗?

以下是我最终实现这一目标的原因:

// A click on a week number cell in the weeks column of the start datepicker
$("td.ui-datepicker-week-col").live("click", function()
{
    // Simulate a click on the first day of the week
    $(this).next().click();

    // Grab the date, and set the end of the week in the end datepicker
    var fromDate = $("#inputStartDate").datepicker("getDate");    
    var toDate = fromDate;
    toDate.setDate(fromDate.getDate() + 6);
    $("#inputEndDate").datepicker("setDate", toDate);
});

以下是我如何最终实现这一目标的:

// A click on a week number cell in the weeks column of the start datepicker
$("td.ui-datepicker-week-col").live("click", function()
{
    // Simulate a click on the first day of the week
    $(this).next().click();

    // Grab the date, and set the end of the week in the end datepicker
    var fromDate = $("#inputStartDate").datepicker("getDate");    
    var toDate = fromDate;
    toDate.setDate(fromDate.getDate() + 6);
    $("#inputEndDate").datepicker("setDate", toDate);
});

下面是一个可以单击两个输入字段的示例:

    $(document).ready(function(){
        // date picker for Export part
        $(".datePicker").datepicker(
                {
                    dateFormat: 'yymmdd',
                    showWeek: true,
                    firstDay: 1,
                    weekHeader: "",
                    showOtherMonths: true,
                    selectOtherMonths: true
                }
        ).focus(function(){
            // prevent focus event firing twice
            var $this = $(this);
            var now = +new Date();
            var lastClicked = $this.data("lastClicked");
            if (lastClicked && (now - lastClicked) < 100) {
                // Don't do anything
                return;
            }
            $this.data("lastClicked", now);

            var el = this;

            // A click on a week number cell in the weeks column of the start datepicker
            $("td.ui-datepicker-week-col").click(function(){
                // Simulate a click on the first day of the week
                $(this).next().click();

                var selectedDate = $(el).datepicker("getDate");
                $("#inputStartDate").datepicker("setDate", selectedDate);
                var toDate = selectedDate;
                toDate.setDate(toDate.getDate() + 6);
                $("#inputEndDate").datepicker("setDate", toDate);
            });
        });
    });
$(文档).ready(函数(){
//导出部件的日期选择器
$(“.datePicker”).datePicker(
{
日期格式:“yymmdd”,
《秀周刊》:没错,
第一天:1,
周组长:“,
showOtherMonths:是的,
选择OtherMonths:true
}
).focus(函数(){
//防止焦点事件触发两次
var$this=$(this);
var now=+新日期();
var lastClicked=$this.data(“lastClicked”);
如果(上次单击&(现在-上次单击)<100){
//什么都不要做
回来
}
$this.data(“lastClicked”,现在);
var el=这个;
//单击“开始日期选择器”的“周”列中的周数单元格
$(“td.ui日期选择器周列”)。单击(函数(){
//在一周的第一天模拟单击
$(this.next()。单击();
变量selectedDate=$(el).datepicker(“getDate”);
$(“#inputStartDate”).datepicker(“setDate”,selectedDate);
var toDate=所选日期;
toDate.setDate(toDate.getDate()+6);
$(“#inputenedDate”).datepicker(“setDate”,toDate);
});
});
});

以下是一个可以单击两个输入字段的示例:

    $(document).ready(function(){
        // date picker for Export part
        $(".datePicker").datepicker(
                {
                    dateFormat: 'yymmdd',
                    showWeek: true,
                    firstDay: 1,
                    weekHeader: "",
                    showOtherMonths: true,
                    selectOtherMonths: true
                }
        ).focus(function(){
            // prevent focus event firing twice
            var $this = $(this);
            var now = +new Date();
            var lastClicked = $this.data("lastClicked");
            if (lastClicked && (now - lastClicked) < 100) {
                // Don't do anything
                return;
            }
            $this.data("lastClicked", now);

            var el = this;

            // A click on a week number cell in the weeks column of the start datepicker
            $("td.ui-datepicker-week-col").click(function(){
                // Simulate a click on the first day of the week
                $(this).next().click();

                var selectedDate = $(el).datepicker("getDate");
                $("#inputStartDate").datepicker("setDate", selectedDate);
                var toDate = selectedDate;
                toDate.setDate(toDate.getDate() + 6);
                $("#inputEndDate").datepicker("setDate", toDate);
            });
        });
    });
$(文档).ready(函数(){
//导出部件的日期选择器
$(“.datePicker”).datePicker(
{
日期格式:“yymmdd”,
《秀周刊》:没错,
第一天:1,
周组长:“,
showOtherMonths:是的,
选择OtherMonths:true
}
).focus(函数(){
//防止焦点事件触发两次
var$this=$(this);
var now=+新日期();
var lastClicked=$this.data(“lastClicked”);
如果(上次单击&(现在-上次单击)<100){
//什么都不要做
回来
}
$this.data(“lastClicked”,现在);
var el=这个;
//单击“开始日期选择器”的“周”列中的周数单元格
$(“td.ui日期选择器周列”)。单击(函数(){
//在一周的第一天模拟单击
$(this.next()。单击();
变量selectedDate=$(el).datepicker(“getDate”);
$(“#inputStartDate”).datepicker(“setDate”,selectedDate);
var toDate=所选日期;
toDate.setDate(toDate.getDate()+6);
$(“#inputenedDate”).datepicker(“setDate”,toDate);
});
});
});

您计划如何向用户指示有两种选择模式?在asp日历中,有一列带有箭头供选择(请参阅),因此我想到使用周数列。您计划如何向用户指示有两种选择模式?在asp日历中,有一列带有箭头供选择(请参阅),所以我想用“周数”一栏。