Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果所选数字小于时钟中的当前时间,如何禁用数字_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如果所选数字小于时钟中的当前时间,如何禁用数字

Javascript 如果所选数字小于时钟中的当前时间,如何禁用数字,javascript,jquery,html,Javascript,Jquery,Html,我正在寻找一个解决方案,实际上我在预约表中使用了日期字段,但对于“时间字段”,我根据客户要求使用了两个下拉列表“24小时时钟”,一个下拉列表是“小时数ex:10,11,12,13…以此类推,直到19”,另一个下拉列表是“分钟数ex:15,30,45,60”。因此,由于下拉菜单,每当用户选择“日期”时,他/她必须在特定日期选择预约时间。例如:日期为“2018年3月2日”,时间为小时:“10”,分钟:“30”,但当前时间为小时:“11”,分钟:“30”。但它仍然会进入下一页,在那里它应该说“时间已经

我正在寻找一个解决方案,实际上我在预约表中使用了日期字段,但对于“时间字段”,我根据客户要求使用了两个下拉列表“24小时时钟”,一个下拉列表是“小时数ex:10,11,12,13…以此类推,直到19”,另一个下拉列表是“分钟数ex:15,30,45,60”。因此,由于下拉菜单,每当用户选择“日期”时,他/她必须在特定日期选择预约时间。例如:日期为“2018年3月2日”,时间为小时:“10”,分钟:“30”,但当前时间为小时:“11”,分钟:“30”。但它仍然会进入下一页,在那里它应该说“时间已经过去了”,我想使用这种功能。在我看来,javascript使用“disabled attribute”是可能的,所以这个数字大于或小于功能。谁能帮我一下吗

<div class="col-xs-12 col-sm-6">
        <div class="select-container">
            <select class="form-control sel-event" id="hr" name="hours" required>
                <option value="">Choose Time/Hr</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                <option value="13">13</option>
                <option value="14">14</option>
                <option value="15">15</option>
                <option value="16">16</option>
                <option value="17">17</option>
                <option value="18">18</option>
                <option value="19">19</option>
            </select>
        </div>
    </div>
    <div class="col-xs-12 col-sm-6">
        <div class="select-container">
            <select class="form-control sel-event" id="min" name="minutes" required>
                <option value="">Choose Time/Min</option>
                <option value="00">00 Min</option>
                <option value="15">15 Min</option>
                <option value="30">30 Min</option>
                <option value="45">45 Min</option>
            </select>
        </div>
    </div>

在标记
JQuery
时,可以使用JQuery方法禁用选项。
这将不允许用户选择任何小于当前小时和分钟的
Hour
Min

var hour=new Date().getHours();
var min=new Date().getMinutes();
$(“#hr选项”)。每个(函数(){
如果(小时>$(此).val())
$(this.prop(“disabled”,true);
});
$(“#最小选项”)。每个(函数(){
如果(最小值>$(此).val())
$(this.prop(“disabled”,true);
});

选择时间/小时
10
11
12
13
14
15
16
十七,
18
19
选择时间/分钟
00分钟
15分钟
30分钟
45分钟

说到日期和时间,我总是选择moment.js。对于您所需要的,moment.js有一个有用的名称,它可以测量年、月、周、日、小时、分钟和秒的差异。在您的情况下,需要将用户选择的日期/时间传递给该方法,请参见以下示例:

var userTime = "14:52";
var stt = new Date("Mar 02, 2018 " + userTime);
stt = stt.getTime();

var a = moment(stt);

if (a.diff()<0){
  alert("Time is passed already!")
}else {
  alert("You still have time!")
}
var userTime=“14:52”;
var stt=新日期(“2018年3月2日”+用户时间);
stt=stt.getTime();
var a=力矩(stt);

if(a.diff()请包括尝试的解决方案,为什么它们不起作用,以及预期的结果。这将真正帮助我们解决您的代码的问题。谢谢!现在还不清楚您想要在这里实现什么,您希望用户不能选择已经过去的时间吗?提供一些代码,您已经通过了是的,我想要精确的y类似的功能@EmadDehnavihello,它正在工作,但应该只对今天的日期起作用,但如果所有日期的时间都小于当前时间@Arun,它会阻止所有时间CM@HemantNagori您可以通过检查所选日期==当前日期来执行此操作。
if(DatePickerSelectedDate==新日期()
.Hello@Emad Dehnavi,我正在使用下拉列表,因此它无法工作。我正在使用onBlur事件。谢谢您的时间。
var userTime = "14:52";
var stt = new Date("Mar 02, 2018 " + userTime);
stt = stt.getTime();

var a = moment(stt);

if (a.diff()<0){
  alert("Time is passed already!")
}else {
  alert("You still have time!")
}