Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日期选择器,用于在选择特定日期时在下拉列表中显示不同的值_Javascript_Jquery_Ajax_Datepicker - Fatal编程技术网

Javascript 日期选择器,用于在选择特定日期时在下拉列表中显示不同的值

Javascript 日期选择器,用于在选择特定日期时在下拉列表中显示不同的值,javascript,jquery,ajax,datepicker,Javascript,Jquery,Ajax,Datepicker,我有一个日期选择器和一个带有不同送货时间的下拉菜单。基本上,当用户点击从周一到周五的任何一天时,下拉计时菜单有4个值。但是当用户单击Sat时,下拉计时菜单将有3个值 下面是我的代码。(请注意,我已经做了一些更改,例如禁用已过的星期日和日期) $(函数(){ $(“#日期选择器”)。日期选择器({ minDate:新日期(), beforeShowDay:功能(日期){ var day=date.getDay(); 返回[(天!=0),''; } }); } ); 上午9时至11时 上午11时至

我有一个日期选择器和一个带有不同送货时间的下拉菜单。基本上,当用户点击从周一到周五的任何一天时,下拉计时菜单有4个值。但是当用户单击Sat时,下拉计时菜单将有3个值

下面是我的代码。(请注意,我已经做了一些更改,例如禁用已过的星期日和日期)


$(函数(){
$(“#日期选择器”)。日期选择器({
minDate:新日期(),
beforeShowDay:功能(日期){
var day=date.getDay();
返回[(天!=0),'';
}
});
} );
上午9时至11时
上午11时至下午2时
下午2点至5点
晚上七时至十时
函数getWeekday(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById(“工作日”).innerHTML=xhttp.responseText;
}
};
open(“GET”,“_weekday.php”,true);
xhttp.send();
}
正如您所看到的,在我的代码中,我有3个东西,即日期选择器、表单和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>

上午9时至11时
上午11时至下午2时
下午2点至5点
所以基本上,现在它所做的是,默认情况下,下拉菜单中有4个时隙,但是当用户单击日期选择器时,它将有3个时隙

因此,我的问题或者说我需要的帮助是,我如何做到这一点,即仅当在日期选择器上单击任何星期六时,ajax才会激活并显示3个时隙,而不是默认的4个时隙。然而,如果是其他任何一天,那么它仍然是4个时隙

谢谢。


<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>
函数getWeekday(){ var xhttp=newXMLHttpRequest(); xhttp.onreadystatechange=函数(){ 如果(xhttp.readyState==4&&xhttp.status==200){ var pickedDate=新日期($(“#日期选择器”).val(); if(pickeDate.getDay()==6){ //为选择中的3个选项编写代码 } 否则{ //为select中的4选项编写代码 } } }; open(“GET”,“_weekday.php”,true); xhttp.send(); }
您只需使用new Date().getDay()检查datetimepicker中的日期,如果日期为6,即周六,则只附加3个选项,否则所有工作日都附加4个选项


最好的方法是将请求中的星期几传递到您的php页面,在那里您可以用php编写相应的日期逻辑,也可以在查询参数中传递日期,并检查php中的每一个条件,这将有助于安全观点也

您能分享任何信息吗
<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>