2011-05-25 78 views
0

所以我有一個表格,人們從兩個單獨的選擇下拉菜單中選擇一個下班時間和一個接機時間。如何用JavaScript評估HTML選項?

我不知道如何編寫javascript if語句,它不會讓他們僱用特定的機器超過24小時,即如果7am dropp off是select,pick必須是7am。

也就是說,如果(選項早上7點送貨)&(皮卡=)上午8時 { ERR = 0 }

<td width="248" height="23"><select name="dropoff"> 


      <option value="07:00am" <?php echo $dropoff=="07:00"?"selected":""?>>07:00am</option> 
      <option value="07:30am" <?php echo $dropff=="08:00"?"selected":""?>>07:30am</option> 
      <option value="08:00am" <?php echo $dropoff=="09:00"?"selected":""?>>08:00am</option>      
      <option value="8:30am" <?php echo $dropoff=="10:00"?"selected":""?>>08:30am</option> 
      <option value="9:00am" <?php echo $dropoff=="11:00"?"selected":""?>>09:00am</option> 
      <option value="09:30am" <?php echo $dropoff=="12:00"?"selected":""?>>09:30am</option> 
      <option value="10:00am" <?php echo $dropoff=="12:00"?"selected":""?>>10:00am</option> 
      <option value="07:00pm" <?php echo $dropoff=="07:00"?"selected":""?>>07:00pm</option> 
      <option value="07:30pm" <?php echo $dropoff=="08:00"?"selected":""?>>07:30pm</option> 
      <option value="08:00pm" <?php echo $dropoff=="09:00"?"selected":""?>>08:00pm</option>      
      <option value="08:30pm" <?php echo $dropoff=="10:00"?"selected":""?>>08:30pm</option> 
      <option value="09:00pm" <?php echo $dropoff=="11:00"?"selected":""?>>09:00pm</option> 
      <option value="09:30pm" <?php echo $dropoff=="12:00"?"selected":""?>>09:30pm</option> 
      <option value="10:00pm"<?php echo $dropoff=="12:00"?"selected":""?>>10:00pm</option> 
    </select> 

<td width="548" height="23"><select name="pickup"> 


       <option value="07:00am" <?php echo $pickup=="07:00"?"selected":""?>>07:00am</option> 
       <option value="07:30am" <?php echo $pickup=="08:00"?"selected":""?>>07:30am</option> 
       <option value="08:00am" <?php echo $pickup=="09:00"?"selected":""?>>08:00am</option>      
       <option value="8:30am" <?php echo $pickup=="10:00"?"selected":""?>>08:30am</option> 
       <option value="9:00am" <?php echo $pickup=="11:00"?"selected":""?>>09:00am</option> 
       <option value="09:30am" <?php echo $pickup=="12:00"?"selected":""?>>09:30am</option> 
       <option value="10:00am" <?php echo $pickup=="12:00"?"selected":""?>>10:00am</option> 
       <option value="07:00pm" <?php echo $pickup=="07:00"?"selected":""?>>07:00pm</option> 
       <option value="07:30pm" <?php echo $pickup=="08:00"?"selected":""?>>07:30pm</option> 
       <option value="08:00pm" <?php echo $pickup=="09:00"?"selected":""?>>08:00pm</option>      
       <option value="08:30pm" <?php echo $pickup=="10:00"?"selected":""?>>08:30pm</option> 
       <option value="09:00pm" <?php echo $pickup=="11:00"?"selected":""?>>09:00pm</option> 
       <option value="09:30pm" <?php echo $pickup=="12:00"?"selected":""?>>09:30pm</option> 
       <option value="10:00pm"<?php echo $pickup=="12:00"?"selected":""?>>10:00pm</option> 
     </select> 
+0

我已經編輯你的問題的標題,因爲它是錯誤的「JavaScript不允許」,而點,如果你不知道「怎麼做」;) – 2011-05-25 07:01:48

+1

在你陳述的問題,從早上7點到上午8點只有1個小時。我明白你的意思是第二天早上8點,但你的下落怎麼會知道這一點? – 2011-05-25 07:05:11

+0

值不一定是這些字符串。將它們更改爲0到23,並且11:30可以是11.5,然而在您的條件下更容易評估 – Ibu 2011-05-25 07:06:29

回答

1

如果你確定第二個下拉代表第二天,那麼你所要做的就是比較兩個選擇的selectedIndex,並確保第二個是< =第一個。

換句話說...

sel1 = forms[0].elements["dropoff"].selectedIndex; //drop down 1 
sel2 = forms[0].elements["pickup"].selectedIndex; //drop down 2 

if(sel2 > sel1){ 
    //you are asking for more than 24 hours 
} 

然而,正如我在我的評論說,如果有人在早上7點和皮卡在上午11點要送貨(4點我們以後)會發生什麼?你是否也有日期選擇器來指定?

的更簡單(更直觀的方法)是設置第二個下拉的小時數,然後顯示基於該取件時間,像這樣...

dropDate = new Date(/* set the date here based on the first drop down */); 
leaseTime = getHoursFrom2ndDropDown();//this should return 1-24 based on second dropdown value 

//add milliseconds for leaseTime to the date for your pickupDate 
pickupDate = new Date (dropDate.getTime() + (1000 * 60 * 60 * leaseTime)); 
+0

稍微更令人困惑 – Simon 2011-05-25 07:25:55