自定义周(从7月开始的第1周),计算周数的代码并选择(Custom weeks (1st week starting in july), code to calculate week number a

系统教程 行业动态 更新时间:2024-06-14 17:04:03
自定义周(从7月开始的第1周),计算周数的代码并选择(Custom weeks (1st week starting in july), code to calculate week number and select)

我有一个独特的情况......我有以下代码,目前允许我从一个组合框中选择一周引用的日期。 我希望自动选择周(日期),具体取决于它是哪一天。 例如,它是今天12月3日的第22周...如何默认组合框显示第22周? 我是否应该使用不同的方法完成此操作,因为将来周日期会发生变化?

<select name="dateentryweek" id="entryweek2" onclick="javascript:loadWeekOnly1()"> <option value=""></option><option value="2013-07-07">Week 1</option><option value="2013-07-14">Week 2</option><option value="2013-07-21">Week 3</option><option value="2013-07-28">Week 4</option> <option value="2013-08-04">Week 5</option><option value="2013-08-11">Week 6</option><option value="2013-08-18">Week 7</option><option value="2013-08-25">Week 8</option> <option value="2013-09-01">Week 9</option><option value="2013-09-08">Week 10</option><option value="2013-09-15">Week 11</option><option value="2013-09-22">Week 12</option> <option value="2013-09-29">Week 13</option><option value="2013-10-06">Week 14</option><option value="2013-10-13">Week 15</option><option value="2013-10-20">Week 16</option> <option value="2013-10-27">Week 17</option><option value="2013-11-03">Week 18</option><option value="2013-11-10">Week 19</option><option value="2013-11-17">Week 20</option> <option value="2013-11-24">Week 21</option><option value="2013-12-01">Week 22</option><option value="2013-12-08">Week 23</option><option value="2013-12-15">Week 24</option> <option value="2013-12-22">Week 25</option><option value="2013-12-29">Week 26</option><option value="2014-01-05">Week 27</option><option value="2014-01-12">Week 28</option> <option value="2014-01-19">Week 29</option><option value="2014-01-26">Week 30</option><option value="2014-02-02">Week 31</option><option value="2014-02-09">Week 32</option> <option value="2014-02-16">Week 33</option><option value="2014-02-23">Week 34</option><option value="2014-03-02">Week 35</option><option value="2014-03-09">Week 36</option> <option value="2014-03-16">Week 37</option><option value="2014-03-23">Week 38</option><option value="2014-03-30">Week 39</option><option value="2014-04-06">Week 40</option> <option value="2014-04-13">Week 41</option><option value="2014-04-20">Week 42</option><option value="2014-04-27">Week 43</option><option value="2014-05-04">Week 44</option> <option value="2014-05-11">Week 45</option><option value="2014-05-18">Week 46</option><option value="2014-05-25">Week 47</option><option value="2014-06-01">Week 48</option> <option value="2014-06-08">Week 49</option><option value="2014-06-15">Week 50</option><option value="2014-06-22">Week 51</option><option value="2014-06-29">Week 52</option>

我也有我的jquery datepicker的代码,它在日期旁边显示正确的周数,但不会根据当前周自动选择合适的日期...

function myWeekCalc(date) { var checkDate = new Date(date.getTime()); // Find checkDate.setDate(checkDate.getDate() + 185 - (checkDate.getDay())); var time = checkDate.getTime(); checkDate.setMonth(0); // Compare with Jan 1 checkDate.setDate(1); return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; } jQuery('input[name=selectweek1]').datepicker({ dateFormat: 'yy-mm-dd', changeYear: true, changeMonth: true, firstDay: 1, calculateWeek: myWeekCalc, showWeek: true, minDate: new Date(2013, 6, 1), maxDate: new Date(2014, 5, 29) });

JSFIDDLE: http : //jsfiddle.net/a2nmR/

I have a unique situation... I have the below code which currently allows me to select a date referenced from a week, from a combo box. I want to have the week (date) selected automatically depending on which day it is. For example, it's the 3rd of December today which falls under week 22... How do I default the combo box to display week 22? Should I have done this with a different method as in future the week dates will change?

<select name="dateentryweek" id="entryweek2" onclick="javascript:loadWeekOnly1()"> <option value=""></option><option value="2013-07-07">Week 1</option><option value="2013-07-14">Week 2</option><option value="2013-07-21">Week 3</option><option value="2013-07-28">Week 4</option> <option value="2013-08-04">Week 5</option><option value="2013-08-11">Week 6</option><option value="2013-08-18">Week 7</option><option value="2013-08-25">Week 8</option> <option value="2013-09-01">Week 9</option><option value="2013-09-08">Week 10</option><option value="2013-09-15">Week 11</option><option value="2013-09-22">Week 12</option> <option value="2013-09-29">Week 13</option><option value="2013-10-06">Week 14</option><option value="2013-10-13">Week 15</option><option value="2013-10-20">Week 16</option> <option value="2013-10-27">Week 17</option><option value="2013-11-03">Week 18</option><option value="2013-11-10">Week 19</option><option value="2013-11-17">Week 20</option> <option value="2013-11-24">Week 21</option><option value="2013-12-01">Week 22</option><option value="2013-12-08">Week 23</option><option value="2013-12-15">Week 24</option> <option value="2013-12-22">Week 25</option><option value="2013-12-29">Week 26</option><option value="2014-01-05">Week 27</option><option value="2014-01-12">Week 28</option> <option value="2014-01-19">Week 29</option><option value="2014-01-26">Week 30</option><option value="2014-02-02">Week 31</option><option value="2014-02-09">Week 32</option> <option value="2014-02-16">Week 33</option><option value="2014-02-23">Week 34</option><option value="2014-03-02">Week 35</option><option value="2014-03-09">Week 36</option> <option value="2014-03-16">Week 37</option><option value="2014-03-23">Week 38</option><option value="2014-03-30">Week 39</option><option value="2014-04-06">Week 40</option> <option value="2014-04-13">Week 41</option><option value="2014-04-20">Week 42</option><option value="2014-04-27">Week 43</option><option value="2014-05-04">Week 44</option> <option value="2014-05-11">Week 45</option><option value="2014-05-18">Week 46</option><option value="2014-05-25">Week 47</option><option value="2014-06-01">Week 48</option> <option value="2014-06-08">Week 49</option><option value="2014-06-15">Week 50</option><option value="2014-06-22">Week 51</option><option value="2014-06-29">Week 52</option>

I also have this code for my jquery datepicker, which displays the weeks correctly next to the date, but does not auto select the appropriate date depending on current week...

function myWeekCalc(date) { var checkDate = new Date(date.getTime()); // Find checkDate.setDate(checkDate.getDate() + 185 - (checkDate.getDay())); var time = checkDate.getTime(); checkDate.setMonth(0); // Compare with Jan 1 checkDate.setDate(1); return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; } jQuery('input[name=selectweek1]').datepicker({ dateFormat: 'yy-mm-dd', changeYear: true, changeMonth: true, firstDay: 1, calculateWeek: myWeekCalc, showWeek: true, minDate: new Date(2013, 6, 1), maxDate: new Date(2014, 5, 29) });

JSFIDDLE: http://jsfiddle.net/a2nmR/

最满意答案

使用.filter()和.prop() :

演示: http : //jsbin.com/aviVeyUW/3/edit

$('#entryweek2 option').filter(function(index) { return index === myWeekCalc(new Date()); }).prop('selected', true);

你也可以这样做:

演示: http : //jsbin.com/aviVeyUW/4/edit

$('#entryweek2 option').filter(function(index) { var $this = $(this), today = new Date(), weekNo = parseInt($(this).text().split('Week ')[1]); return weekNo === myWeekCalc(today); }).prop('selected', true);

Use .filter() and .prop():

DEMO: http://jsbin.com/aviVeyUW/3/edit

$('#entryweek2 option').filter(function(index) { return index === myWeekCalc(new Date()); }).prop('selected', true);

You can also do something like this:

DEMO: http://jsbin.com/aviVeyUW/4/edit

$('#entryweek2 option').filter(function(index) { var $this = $(this), today = new Date(), weekNo = parseInt($(this).text().split('Week ')[1]); return weekNo === myWeekCalc(today); }).prop('selected', true);

更多推荐

本文发布于:2023-04-24 21:16:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/dzcp/c35492b04ddafd33841fad1aff4339ad.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   代码   weeks   st   week

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!