繁体   English   中英

如何使用JavaScript从日期选择器上的选定日期获取星期几

[英]How to get day of the week from the selected date on datepicker using javascript

如何从openstatus1上的选定日期获取星期几,并且如果选定的日期是星期六或星期日,则显示openstatus1否则显示openstatus

的JavaScript

$("#datepicker").datepicker({ 
        autoclose: true, 
        todayHighlight: true
}).on('changeDate', function(e) {
    if(e.date && e.date.GetDay()==6 && e.date.GetDay()==7) {
        $('.openstatus').toggle();
    } else {
        $('.openstatus1').toggle();
    }
});

我的表格

<div id="datepicker" class="input-group" data-date-format="mm-dd-yyyy">
<input class="form-control" name="Date" type="text" readonly />
<span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
</div>
<div class="openstatus">

    <select name="ResTime" class=" selectpicker">
        <option  selected="selected" value="select time">Select Time</option>
        <option value="10:30am">10:30 am</option>
        <option value="11:00am">11:00 am</option>
        <option value="11:30am">11:30 am</option>
        <option value="12:00pm">12:00 pm</option>
        <option value="12:30pm">12:30 pm</option>
        <option value="1:00pm">1:00 pm</option>
        <option value="1:30pm">1:30 pm</option>
        <option value="2:00pm">2:00 pm</option>
        <option value="2:30pm">2:30 pm</option>
        <option value="3:00pm">3:00 pm</option>
        <option value="3:30pm">3:30 pm</option>
        <option value="4:00pm">4:00 pm</option>
        <option value="4:30pm">4:30 pm</option>
        <option value="5:00pm">5:00 pm</option>  
    </select>

</div>
<div class="openstatus1">

    <select name="ResTime" class="selectpicker">
        <option  selected="selected" value="select time">Select Time</option>
        <option value="8:00am">8:00 am</option>
        <option value="8:30am">8:30 am</option>
        <option value="9:00am">9:00 am</option>
        <option value="9:30am">9:30 am</option>
        <option value="10:00am">10:00 am</option>
        <option value="10:30am">10:30 am</option>
        <option value="11:00am">11:00 am</option>
        <option value="11:30am">11:30 am</option>
        <option value="12:00pm">12:00 pm</option>
        <option value="12:30pm">12:30 pm</option>   
    </select>

</div>

在javascript中,星期日的GetDay()为0,而不是7。

getDay()方法根据本地时间返回指定日期的星期几,其中0代表星期日。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay

您还要检查一个值== 6 == 7,它将永远不会出现,因此您需要将to to更改为

因此,您的代码应为:

$("#datepicker").datepicker({ 
    autoclose: true, 
    todayHighlight: true
}).on('changeDate', function(e) {
    if(e.date && (e.date.GetDay() == 6 || e.date.GetDay() == 0)) {
        $('.openstatus').toggle();
    } else {
        $('.openstatus1').toggle();
    }
});

您会发现的下一个问题是.toggle()将仅切换您选择的项目。 您可以将布尔值标志与toggle一起使用,但是有时更明确一些,以便显示/隐藏您想要的内容,并给出:

$("#datepicker").datepicker({ 
    autoclose: true, 
    todayHighlight: true
}).on('changeDate', function(e) {
    if(e.date && (e.date.GetDay() == 6 || e.date.GetDay() == 0)) {

        // show hide .openstatus/.openstatus1 as required (ie might need to swap these two)
        $('.openstatus').show();
        $('.openstatus1').hide();
    }
    else {
        $('.openstatus').hide();
        $('.openstatus1').show();
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM