2016-08-30 63 views
2

我有一個日期選擇器和下拉菜單,具有不同的傳送時間。基本上,當用戶點擊從星期一到星期五的任何一天時,下拉計時菜單有4個值。但是當用戶點擊星期六時,下拉計時菜單將有3個值。日期選擇器在選擇特定日期時在下拉菜單中顯示不同的值

以下是我的代碼。 (請注意我已經作出更改,例如禁用星期日和有過去的日期)

<script> 
$(function() { 
    $("#datepicker").datepicker({ 
     minDate: new Date(), 
     beforeShowDay: function(date) { 
      var day = date.getDay(); 
      return [(day != 0), '']; 
     } 
    }); 
    }); 
</script> 

<form name="checkout"> 
<input type="text" name="datepicker" id="datepicker" placeholder="Date of Delivery" onBlur="getWeekday();"> 

<div id="weekday"> 
    <select name="time"> 
     <option value="slot1">9am - 11am</option> 
     <option value="slot2">11am - 2pm</option> 
     <option value="slot3">2pm - 5pm</option> 
     <option value="slot4">7pm - 10pm</option> 
    </select> 
</div> 

<script> 
function getWeekday() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     document.getElementById("weekday").innerHTML = xhttp.responseText; 

    } 
    }; 
    xhttp.open("GET", "_weekday.php", true); 
    xhttp.send(); 
} 
</script> 


</form> 

因此,大家可以看到,在我的代碼,我在這三樣東西是在日期選擇器,表單和ajax代碼。

這正是在_weekday.php

<select name="time"> 
    <option value="slot1">9am - 11am</option> 
    <option value="slot2">11am - 2pm</option> 
    <option value="slot3">2pm - 5pm</option> 
</select> 

所以基本上,現在這樣做是在默認情況下,在下拉菜單中有4個時隙中,但是當用戶點擊日期選擇器,它會有3個時隙。

所以我的問題或者我需要的幫助是,我怎麼做到這一點,當只有當點擊日期選擇器上的任何星期六時,然後ajax激活並顯示3個時隙而不是默認值4.然而,如果任何一天,那麼它仍然是4個時隙。

謝謝。

+1

你能分享任何小提琴 – mean

回答

0
<script> 
function getWeekday() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     var pickedDate = new Date($('#datepicker').val()); 
    if(pickedDate.getDay() == 6){ 
//Write code for 3 option in select 
    } 
    else{ 
//Write code for 4 option in select 
} 

    } 
    }; 
    xhttp.open("GET", "_weekday.php", true); 
    xhttp.send(); 
} 
</script> 

你只neee使用新的Date()來CHACK。getDay()的這一天是的DateTimePicker,如果這一天是6,然後週六否則追加只有3個選項全部平日所有其他4個選項

或 最好的辦法是將請求中的星期幾傳遞給你的php頁面,你可以在php中寫出相應的日期邏輯,也可以在查詢參數中傳遞日期,並檢查每個條件在PHP哪個好爲安全角度也

+0

這不適合我,它仍然顯示al即使在星期六被點擊的情況下也是4個時機。 – gosi123

相關問題