Прокоменьте код для 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 & 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 не слишком удачная идея, мне кажется. |
Часовой пояс GMT +3, время: 04:34. |