Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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_Datepicker_Timepicker - Fatal编程技术网

基于另一个字段自动更改字段javascript

基于另一个字段自动更改字段javascript,javascript,jquery,datepicker,timepicker,Javascript,Jquery,Datepicker,Timepicker,我在用这个和这个。我想开发JS代码,确定用户是否在日期选择器上选择了当前日期,如果是,这将触发计时器选择器的一个函数,该函数将禁用实际时间之前的所有时间。我对JavaScript还不熟悉,所以我才刚刚起步 HTML: 例如,如果选择了非今天的日期,则时间选择器将返回其默认功能,而不会显示任何灰色的时间。如果我正确理解了您的意思,您只需使用 如果我对你的理解正确,你只需要使用 你对这个问题的专注是值得注意的,但在下面的当前场景中,真的很难找到任何解决方案。我在做了一些解释之后提出了一个解决方案,试

我在用这个和这个。我想开发JS代码,确定用户是否在日期选择器上选择了当前日期,如果是,这将触发计时器选择器的一个函数,该函数将禁用实际时间之前的所有时间。我对JavaScript还不熟悉,所以我才刚刚起步

HTML:


例如,如果选择了非今天的日期,则时间选择器将返回其默认功能,而不会显示任何灰色的时间。

如果我正确理解了您的意思,您只需使用


如果我对你的理解正确,你只需要使用


你对这个问题的专注是值得注意的,但在下面的当前场景中,真的很难找到任何解决方案。我在做了一些解释之后提出了一个解决方案,试着告诉你这是否适合你的需要

若你们有一个回调datepicker插件,在用户选择日期后被调用,比如说

datepickr('#datemax',{onSelect:'someFn'});
然后

function someFn()
{
    alert('somethings changed');
    var timesAvailable = {
    'timeFormat': 'h:i A',
    'disableTimeRanges': [['12am', getCurrentTime(new Date())]]
    };

    $('#timemax').timepicker(timesAvailable);

}
这会很容易,但由于情况并非如此,你可能需要寻找其他替代方案。请注意,如果你喜欢这个,请选择某个日期

$("#userInput").change(function(){ 
     //same above code
});
这将不起作用,因为当你通过代码更改值时,事件不会触发,这正是这个插件所做的。当你单击哪个插件是处理程序的文本框时,它会显示它的动态html创建(日历),你再次单击它的某个地方,此外,还有一个事件处理程序,它将根据单击的位置(日期)使用一些适当的值填充文本框。因此,在上面的代码中,它类似于分配一个
更改
事件处理程序,并期望
$(“#userInput”).val(“11”)
调用处理程序;那不行,警报永远不会弹出

因此,我能找到的唯一替代方法被认为不是一个好的实践,但这里可以提供帮助的是,您可以在用于呈现日历的动态生成元素上分配处理程序,在这种情况下,它们使用
,因此您可以为
元素分配一个委派的
单击
处理程序,并在其中写入计时器代码


你对这个问题的专注是值得注意的,但在下面的当前场景中,真的很难找到任何解决方案。我已经提出了一个解决方案,在做了一些解释之后,试着告诉你这是否适合你的需要

若你们有一个回调datepicker插件,在用户选择日期后被调用,比如说

datepickr('#datemax',{onSelect:'someFn'});
然后

function someFn()
{
    alert('somethings changed');
    var timesAvailable = {
    'timeFormat': 'h:i A',
    'disableTimeRanges': [['12am', getCurrentTime(new Date())]]
    };

    $('#timemax').timepicker(timesAvailable);

}
这会很容易,但由于情况并非如此,你可能需要寻找其他替代方案。请注意,如果你喜欢这个,请选择某个日期

$("#userInput").change(function(){ 
     //same above code
});
这将不起作用,因为当你通过代码更改值时,事件不会触发,这正是这个插件所做的。当你单击哪个插件是处理程序的文本框时,它会显示它的动态html创建(日历),你再次单击它的某个地方,此外,还有一个事件处理程序,它将根据单击的位置(日期)使用一些适当的值填充文本框。因此,在上面的代码中,它类似于分配一个
更改
事件处理程序,并期望
$(“#userInput”).val(“11”)
调用处理程序;那不行,警报永远不会弹出

因此,我能找到的唯一替代方法被认为不是一个好的实践,但这里可以提供帮助的是,您可以在用于呈现日历的动态生成元素上分配处理程序,在这种情况下,它们使用
,因此您可以为
元素分配一个委派的
单击
处理程序,并在其中写入计时器代码


正如我前面指出的,你能不能连接到datepicker的
change
事件?我的意思是,如果用户选择某个日期,你能运行一个函数吗?如果是,那么我可能有一个解决方案。我以前从未使用过该插件,所以当我查看他们的文档时,我找不到任何事件。这可能是一个相关的解决方案。请发布它,这样我就可以看一看。正如我前面指出的,你可以挂到datepicker的
change
事件吗?我的意思是,如果用户选择某个日期,你可以运行一个函数吗?如果可以,那么我可能有一个解决方案。我以前从未使用过该插件,所以当我去查看他们的文档时,我找不到任何事件,这可能是一个相关的解决方案。请把它寄出去,我好看看。
$("#userInput").change(function(){ 
     //same above code
});