как сохранить время окончания по умолчанию 3 часа от времени начала? - PullRequest
1 голос
/ 05 мая 2011

Сначала проверьте страницу создания события Facebook, ссылка http://www.facebook.com/?ref=home#!/events/create.php Я использую время начала и окончания этой страницы в своем приложении. Мой вопрос, если я установил время начала 12 вечера , время окончания по умолчанию должно составлять 3 часа после этого, то есть время окончания = 3 вечера (если пользователь не устанавливает время окончания)

код времени начала

<select name="menu" class="style24">
  <option value="00:00" <?php if($todaytime=="01"){echo "selected";}?>>12:00am</option>
  <option value="00:30" <?php if($todaytime=="01"){echo "selected";}?>>12:30am</option>
  <option value="01:00" <?php if($todaytime=="02"){echo "selected";}?>>1:00am</option>
  <option value="01:30" <?php if($todaytime=="02"){echo "selected";}?>>1:30am</option>
  <option value="02:00" <?php if($todaytime=="03"){echo "selected";}?>>2:00am</option>
  <option value="02:30" <?php if($todaytime=="03"){echo "selected";}?>>2:30am</option>
  <option value="03:00" <?php if($todaytime=="04"){echo "selected";}?>>3:00am</option>
  <option value="03:30" <?php if($todaytime=="04"){echo "selected";}?>>3:30am</option>
</select>

код времени окончания

<select name="menu1" class="style24">
  <option value="00:00" <?php if($todaytime=="01"){echo "selected";}?>>12:00am</option>
  <option value="00:30" <?php if($todaytime=="01"){echo "selected";}?>>12:30am</option>
  <option value="01:00" <?php if($todaytime=="02"){echo "selected";}?>>1:00am</option>
  <option value="01:30" <?php if($todaytime=="02"){echo "selected";}?>>1:30am</option>
  <option value="02:00" <?php if($todaytime=="03"){echo "selected";}?>>2:00am</option>
  <option value="02:30" <?php if($todaytime=="03"){echo "selected";}?>>2:30am</option>
  <option value="03:00" <?php if($todaytime=="04"){echo "selected";}?>>3:00am</option>
  <option value="03:30" <?php if($todaytime=="04"){echo "selected";}?>>3:30am</option>
  <option value="04:00" <?php if($todaytime=="05"){echo "selected";}?>>4:00 am</option>
</select>

$todaytime определяется как date("H", time()).

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Превратите ваш

<?php   if($todaytime=="01"){echo "selected";} ?>

в вызов функции:

<?php selectstarttime(time) ?>  //in your starttime code
<?php selectendtime(time) ?>  // in your endtime code

function selectstarttime(time){
 if (something like time==currentTime){
  return "selected";
 }
 else
  return "";
 } 
}

function selectendtime(time){
 if (something like time==currentTime + 3hours){
  return "selected";
 }
 else
  return "";
 } 
}
0 голосов
/ 05 мая 2011

Если ваш первый выбор имеет id = "start", а другой selct имеет id = "end", код должен выглядеть следующим образом (чистый javascript и jquery):

  <script>   
    function hhmm2minutes(hhmm){
       var hhmmArray = hhmm.split(":");
       return parseInt(hhmmArray[0], 10)*60 + parseInt(hhmmArray[1], 10);
    }
    function minutes2hhmm(minutes){
       minutes = minutes % (24*60); //To avoid having hour > 23
       function addZero(x){
          return (x < 10 ? "0"+x : ""+x) ;
       }
       var mm = minutes % 60;
       var hh = (minutes - mm)/60;
       return addZero(hh) + ":" + addZero(mm);   
    }

    function setEnd3HoursFromStart(){
       var hhmmStart = $("#start").val();
       if(hhmmStart=="") return;
       var hhmmEnd = minutes2hhmm(hhmm2minutes(hhmmStart) + 180); //Add 180 minutes
       $("#end").val(hhmmEnd);
    }

    $(document).ready(function(){
      setEnd3HoursFromStart();
      $("#start").change(function(){
         setEnd3HoursFromStart();
      });
    });
  </script>

Надеюсь, это помогло. Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...