2011-05-05 44 views
1

首先檢查Facebook的事件創建頁面的鏈接是http://www.facebook.com/?ref=home#!/events/create.php我用我application.My疑問,頁面的開始和結束日期時間,如果我設置開始時間中午12點默認的結束時間應該是3小時後那就是結束時間= 15:00(如果該用戶沒有設置結束時間)的開始時間如何從開始時間保持默認結束時間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())

+1

這有什麼做用PHP。 – 2011-05-05 05:13:25

+0

你應該真的使用for循環。而且,你的代碼不能正確區分半小時。 – nico 2011-05-05 05:21:16

回答

0

假設你的第一選擇具有ID = 「開始」,另一個SELCT具有ID = 「結束」,代碼應該是這樣的(純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> 

希望這有助於。乾杯

0

讓您

<?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 ""; 
} 
} 
相關問題