getThirdMondayInJanuary (): не работает - PullRequest
0 голосов
/ 13 июля 2010

Мне нужно получить третий понедельник в январе. Я пытаюсь это javascript

** @ ребята, которые прокомментировали: я пытался реализовать это.

  <script type="text/javascript">
  $(document).ready(function() {  
  $('#holidayDate').datepicker();  
  var availableTags = ["New years Day", "Martin Luther King Day", "Groundhog Day", "Valentine's Day", "Washington's Birthday",
"Easter", "Earth Day", "National Arbor Day", "Mother's Day", "Memorial Day", "Flag Day", "Father's Day", "Independence Day",
"Labor Day", "Columbus Day", "Halloween", "Veterans Day", "Thanksgiving Day", "Pearl Harbor Remembrance Day", "Christmas Day"];  
  $("#tags").autocomplete({source:availableTags});  
  $('#holidayDate').change(function() {  
 var dateString = $(this).val().substring(0, 5); 
 var res = ""; 
 switch (dateString) { 
   case '01/01': res = availableTags[0]; break; 
   case getThirdMondayInJanuary(): res = availableTags[1]; break;
   case '02/02': res = availableTags[2]; break; 
   case '02/14': res = availableTags[3]; break; 
   case '04/22': res = availableTags[6]; break; 
   case '06/14': res = availableTags[10]; break; 
   case '07/04': res = availableTags[12]; break;
   case '10/31': res = availableTags[15]; break; 
   case '11/11': res = availableTags[16]; break; 
   case '12/07': res = availableTags[18]; break; 
   case '12/25': res = availableTags[19]; break;
  }        
  $('#tags').val(res);  
  });  
  });
  </script>      

Ответы [ 4 ]

11 голосов
/ 13 июля 2010
  1. Измените двоеточие на точку с запятой.
  2. Реализация метода.
7 голосов
/ 13 июля 2010

Этот вопрос настолько плох, что даже не смешной. Но, по крайней мере, вы знаете, как комментировать, поэтому я постараюсь помочь вам.

Использовать эту библиотеку: http://code.google.com/p/datejs/

Date().next().january().third().Monday();

3 голосов
/ 13 июля 2010

http://www.google.com/search?sitesearch=www.w3schools.com&as_q=getThirdMondayInJanuary

возможно, если вы изменили свой код на (не проверено):

getThirdMondayInJanuary():  // this is working!
1 голос
/ 05 февраля 2011

Вот функция для получения третьего понедельника января любого года в качестве даты:

function getThirdMondayInJanuary(year) {
  var jan1 = new Date(year, 0, 1), d = jan1.getDay();
  return new Date(year, 0, (d<2?16:23)-d);
}
...