Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2011, 17:19
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

Прокоменьте код для datepick jQuery
Привет всем, программлю в основном на php, сейчас хочу разобраться с jQuery. Скачал скрипт по datepick. У кого есть время и желание, прокомменьте строчки кода JavaScript. Был бы очень признателен.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
    <title>Datepicker &amp; Difference</title>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes/redmond/jquery-ui.css" media="screen" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js"></script>
    <script type="text/javascript">
        var DatePicked = function() {
                var departure = $("#departure"); // значение отправления - число
                var arrival = $("#arrival"); //значение прибытия - число
                var nights = $("#nights"); // полученное число
				 //alert(arrival);

                var triggeringElement = $(this); //данный элемент
				 //alert(triggeringElement);

                var departureDate = departure.datepicker("getDate");//получить выбранную дату из ячейки отправления
				    alert(departureDate);

                var minArrivalDate = new Date(); //массив дат
                if (departureDate != null) { //если выбрана дата отправления
                        minArrivalDate.setDate(departureDate.getDate() + 2); //вносим в массив дат значение +2
						alert(minArrivalDate);
                } else {//если не выбрана дата отправления
                        minArrivalDate.setDate(minArrivalDate.getDate() + 1);//вносим в массив дат значение +1
						alert(minArrivalDate);
                }
                arrival.datepicker('option', 'minDate', minArrivalDate);//назначаем прибытию минимальное значение даты

                var arrivalDate = arrival.datepicker("getDate"); //дата прибытия берется из ячейки прибытия
				 alert(arrivalDate);

                if (departureDate != null && arrivalDate != null && triggeringElement.attr("id") != "nights") {
                        var oneDay = 1000*60*60*24;
						alert(oneDay);
                        var difference = Math.ceil((arrivalDate.getTime() - departureDate.getTime()) / oneDay);
                        nights.val(difference);
                } else if (departureDate != null && triggeringElement.attr("id") == "nights") {
                        var nightsEntered = parseInt(nights.val());
						alert(oneDay);
                        if (nightsEntered >= 2) {
                                var newArrivalDate = new Date();
                                newArrivalDate.setDate(departureDate.getDate() + nightsEntered);
                                arrival.datepicker("setDate", newArrivalDate);
                        } else {
						alert(oneDay);
                                alert("Nights must be greater than 2.");
                        }
                }
				alert(oneDay);
        }
        $(function() {
                $("#departure, #arrival").datepicker({
                        onSelect: DatePicked
                });
                $("#nights").change(DatePicked);
                DatePicked();
        });
    </script>
</head>
<body>
<div>
    <label for="departure">Departure</label>
    <input type="text" id="departure" name="departure" />
</div>
<div>
    <label for="arrival">Arrival</label>
    <input type="text" id="arrival" name="arrival" />
</div>
<div>
    <label for="nights">Nights</label>
    <input type="text" id="nights" name="nights" />
</div>
</body>
</html>


Дальше начал терять мысль рассуждений, поэтому не стал комментить... Еще очень важный вопрос, как вы отлаживаете код на JavaScript. В php я просто выводил значение переменной(var_dump), в JavaScript выводить alertom не слишком удачная идея, мне кажется.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery для загрузки страницы в <div> Dr.Holerik jQuery 12 11.10.2016 17:36
Как в jQuery разбить код на части? muravey jQuery 3 10.02.2011 12:05
Jquery, Dynatree и JSON antirek jQuery 6 01.09.2009 15:00
jQuery для начинающих! kalisha jQuery 5 21.11.2008 01:06