Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery ui Datepicker返回所选周的第一天_Javascript_Jquery_Jquery Ui_Textbox_Datepicker - Fatal编程技术网

Javascript jQuery ui Datepicker返回所选周的第一天

Javascript jQuery ui Datepicker返回所选周的第一天,javascript,jquery,jquery-ui,textbox,datepicker,Javascript,Jquery,Jquery Ui,Textbox,Datepicker,如何编辑日期选择器以返回所选周的第一天?目前,它总是返回所选日期的确切日期 我想要的是:如果我选择“2013年8月28日星期三”,日期选择器应该返回“2013年8月26日星期一”。我怎样才能做到这一点 如果我在textboxfor@id=“#startDate中写入,则不起作用 @Html.TextBoxFor(m => m.datS, new { @type = "text", @width = "80", @maxlength = 10, @readonly = "true" })

如何编辑日期选择器以返回所选周的第一天?目前,它总是返回所选日期的确切日期

我想要的是:如果我选择“2013年8月28日星期三”,日期选择器应该返回“2013年8月26日星期一”。我怎样才能做到这一点

如果我在textboxfor
@id=“#startDate
中写入,则不起作用

@Html.TextBoxFor(m => m.datS, new { @type = "text", @width = "80", @maxlength = 10, @readonly = "true" })

@Html.TextBoxFor(m => m.datE, new { @type = "text", @width = "80", @maxlength = 10, @readonly = "true" })
下面是datepicker的javascript

 $(function () {
         var startDate;
         var endDate;
         var dateToday = new Date();
         var selectCurrentWeek = function () {
             window.setTimeout(function () {
                 $('#datS, #datE').find('.ui-datepicker-current-day a').addClass('ui-state-active')
             }, 1);
         }
         $('#datS, #datE').datepicker({
             onSelect: function (dateText, inst) {
                 var date = $(this).datepicker('getDate');
                 startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() - 1);
                 endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 5);
                 var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat;
                 $('#startDate').text($.datepicker.formatDate(dateFormat, startDate, inst.settings));
                 $('#endDate').text($.datepicker.formatDate(dateFormat, endDate, inst.settings));
                 selectCurrentWeek();
             },
             onClose: function (selectedDate, test) {
                 var day = ('0' + (parseInt(test.selectedDay))).slice(-2);
                 var month = ('0' + (test.selectedMonth)).slice(-2);
                 var year = test.selectedYear;
                 var tempDate = new Date(year, month, day);
                 if (this.id == "datS") {
                     tempDate.setDate(tempDate.getDate() + 1);
                     $("#datE").datepicker("option", "minDate", tempDate);
                 }
                 if (this.id == "datE") {
                     tempDate.setDate(tempDate.getDate() - 1);
                     $("#datS").datepicker("option", "maxDate", tempDate);
                 }
             }
         });


我已经创建了一个jQuery插件,可以实现这一点。在Bower或通过Bower获取。示例用法:

$('#selector').weekpicker({
    startField: '#date-start',
    endField: '#date-end'
});

不客气!如果您愿意,您甚至可以通过将“d.setDate(d.getDate()-6);”行替换为这一行:“d.setDate(d.getDate()+1);”将一周的第一天设置为星期天,否则if必须不同。
$('#selector').weekpicker({
    startField: '#date-start',
    endField: '#date-end'
});