2016-08-30 19 views
2

私は、異なる配達時間の日付ピッカーとドロップダウンメニューを持っています。基本的に、ユーザーがMonからFriまでの任意の日をクリックすると、ドロップダウンのタイミングメニューには4つの値があります。ユーザーがSatをクリックすると、ドロップダウンのタイミングメニューには3つの値が表示されます。特定の日が選択されたときに、日付ピッカーがドロップダウンに異なる値を表示する

以下は私のコードです。あなたが見ることができるように、私のコードでは、私は日付ピッカー、フォームとされ、その中に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つのタイムスロットがあります。

私の質問またはそれよりもむしろ私が必要とするヘルプは、どのように土曜日がdatepickerでクリックされたときにのみ、ajaxがアクティブにしてデフォルトの代わりに3つのタイムスロットを表示するようにしますしかし、他の日であれば、それは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> 

あなただけの一日は、すべての平日のためにそうでない場合は、他のすべての4のオプションをわずか3オプションを追加土曜日である6である場合。getDay()その日は、DateTimePickerのである)(新しい日付を使用してCHACKするneee

最善の方法は、曜日のリクエストをPHPのページに渡すことです。ここでphpのそれぞれの論理を書くことができます。また、クエリのパラメータを日付に渡し、phpのすべての条件をチェックします。セキュリティの観点からも

+0

これは私のためには機能しませんが、土曜日がクリックされても、4つのタイミング。 – gosi123

関連する問題