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