我想知道我是否可以在jquery中获得一些如何实现这一点的想法:
IDEA
让我们说第一个选项使用9到11 AM的小时范围我需要jquery来检查实际小时,如果大于11AM,则将disabled
属性添加到该选项。
当一天结束时,所有选项必须重置,这意味着上午12点。
FORM
<select class="select" id="newfield3" name="newfield3">
<option disabled value="9:00 a 11:00 A.M">9:00 a 11:00 A.M</option>
<option value="11:00 a 1:00 P.M">11:00 a 1:00 P.M</option>
<option value="2:00 a 4:00 P.M">2:00 a 4:00 P.M</option>
<option value="4:00 a 6:00 P.M">4:00 a 6:00 P.M</option>
</select>
我是jquery的初学者,所以我非常感谢我得到的任何帮助。
答案 0 :(得分:4)
您可以尝试使用
var d = new Date();
var n = d.getHours();
并根据n的值禁用option
答案 1 :(得分:0)
所以这就是我想要的:
$("#newfield3 option").each(function() {
var $thisOption = $(this);
var HH = new Date().getHours();
var h1 = "9:00 a 11:00 A.M";
var h2 = "11:00 a 1:00 P.M";
var h3 = "2:00 a 4:00 P.M";
var h4 = "4:00 a 6:00 P.M";
if (HH >= 9 && HH < 17) {
if($thisOption.val() == h1) {
if ( HH >= 10 ) {
$thisOption.prop('disabled', true);
$('#newfield3 option[value="' + h2 + '"]').attr("selected", "selected");
}
}
if($thisOption.val() == h2) {
if ( HH >= 12 ) {
$thisOption.prop('disabled', true);
$('#newfield3 option[value="' + h3 + '"]').attr("selected", "selected");
$('#newfield3 option[value="' + h2 + '"]').attr("selected", false);
}
}
if($thisOption.val() == h3) {
if ( HH >= 15 ) {
$thisOption.prop('disabled', true);
$('#newfield3 option[value="' + h4 + '"]').attr("selected", "selected");
$('#newfield3 option[value="' + h3 + '"]').attr("selected", false);
}
}
if($thisOption.val() == h4) {
if ( HH >= 17 ) {
$thisOption.prop('disabled', true);
}
}
}
});