在特定日期禁用复选框?JavaScript

在特定日期禁用复选框?JavaScript,javascript,jquery,date,checkbox,input,Javascript,Jquery,Date,Checkbox,Input,我想看看我是否可以在一周中的两天禁用表单上的复选框,比如我是否希望在周一和周五禁用复选框。我编写了代码,将一天值作为数字返回,然后将其转换为一天(名称)。我一直在修改的代码是禁用所有已应用某个类的onLoad输入复选框,所以我一直在修改它,以查看是否可以编写if/Else语句,但似乎无法正确执行。你知道我能把它改成什么吗,这样就行了 var d = new Date(); var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday"

我想看看我是否可以在一周中的两天禁用表单上的复选框,比如我是否希望在周一和周五禁用复选框。我编写了代码,将一天值作为数字返回,然后将其转换为一天(名称)。我一直在修改的代码是禁用所有已应用某个类的onLoad输入复选框,所以我一直在修改它,以查看是否可以编写if/Else语句,但似乎无法正确执行。你知道我能把它改成什么吗,这样就行了

var d = new Date();
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
document.getElementById("demo").innerHTML = days[d.getDay()];

if days = 'Monday' {
    $('.sum').attr('disabled', true);
} else {
    $('.sum').attr('disabled', false);
}

<p style="margin: 20px;">Today is <span id="demo"></span>!</p>
<input style="margin: 20px 0 20px 20px;" value="50" type="checkbox" class="sum" data-toggle="checkbox" name="item"> Item 1 (Not availalbe Mondays/Fridays)
var d=新日期();
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
document.getElementById(“demo”).innerHTML=days[d.getDay()];
如果天数=‘星期一’{
$('.sum').attr('disabled',true);
}否则{
$('.sum').attr('disabled',false);
}

今天是

第1项(周一/周五不提供)

提前感谢您提供的任何见解

这里有几个问题:

  • 您的
    if
    语句需要在条件周围加括号
    ()
  • 您的情况应该使用
    =
    或(更好的)
    ==
    进行比较,而不是使用执行赋值的
    =
  • 比较
    星期一
    总是会失败,因为
    是一个数组
  • $('.sum').attr('disabled',true)
    不是禁用元素的好方法-请改用
    $('.sum').prop('disabled',true)
因此,我将尝试使用以下代码:

if ( days[d.getDay()] === 'Monday' ) {
    $('.sum').prop('disabled', true);
} else {
    $('.sum').prop('disabled', false);
}
…或者更简洁地说

const isDisabled = ( days[d.getDay()] === 'Monday' ); //true or false
$('.sum').prop('disabled', isDisabled );

window.onload=函数(){
var d=新日期();
风险值天数=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
document.getElementById(“demo”).innerHTML=days[d.getDay()];
//如果(天数=‘星期一’){
如果(天[d.getDay()]=“星期二”){
document.queryselectoral(“.sum”).forEach(函数(实际值){
实际。禁用=真;
});
}   
}

今天是

第1项(周一/周五不提供)
  • 如果要将脚本放在顶部,请使用onload方法确保加载woledom,否则脚本必须放在html的底部
  • 我在代码中将周一改为周二,以便今天对其进行测试。(请参阅注释代码)
  • 祝您有一个愉快的一天!

    使用,您可以使用诸如“Date.today().is().monday()”之类的词,例如:
    <script>
    window.onload = function () { 
        var d = new Date();
        var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
        document.getElementById("demo").innerHTML = days[d.getDay()];
        // if (days== 'Monday') {
        if (days[d.getDay()]== 'Tuesday') {
            document.querySelectorAll(".sum").forEach(function(actual) {
                actual.disabled=true;
            });
        }   
    }
    </script>
    
    <p style="margin: 20px;">Today is <span id="demo"></span>!</p>
    <input style="margin: 20px 0 20px 20px;" value="50" type="checkbox" class="sum" data-toggle="checkbox" name="item"> Item 1 (Not availalbe Mondays/Fridays)