2011-05-25 38 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