我正在尝试查看是否可以在一周的某两天禁用表单上的复选框,例如我是否要在周一和周五禁用该复选框。我编写的代码将日值作为数字返回,然后将其转换为日期(名称)。我一直在修改的代码是禁用所有输入复选框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)
提前感谢任何见解!!
答案 0 :(得分:2)
Count
祝你有个美好的一天!
答案 1 :(得分:1)
你在这里遇到了一些问题:
if
语句需要围绕条件<{li>>的括号()
==
或(更好)===
进行比较,而不是=
进行作业days
与'Monday'
进行比较将始终失败,因为days
是一个数组。$('.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 );