如果小于实际小时,则禁用选择选项

时间:2013-05-28 17:58:02

标签: javascript jquery

我想知道我是否可以在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的初学者,所以我非常感谢我得到的任何帮助。

2 个答案:

答案 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);
    }

}

}

});