javascript - 使用下拉菜单时,JQuery TimePicker OnChange 不会触发

标签 javascript jquery html timepicker

我正在使用这个TimePicker以 HTML 形式。这是我对应的 HTML:

<input class="form-control timepicker" disabled="@formDisabled" name="starttime" onchange="setDefaultTime()" value="@(test123)" placeholder="Startzeit" autocomplete="off" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" />

此 TimePicker 的一个功能是,只要它是表单中的焦点元素,它就会打开一个下拉选择,其中的值在其最短时间到最大时间范围内,并具有设定的时间间隔。这是负责此操作的 JQuery:

$('input.timepicker').timepicker({
    timeFormat: 'HH:mm',
    interval: 5,
    minTime: '6:00am',
    maxTime: '10:00pm',
    dynamic: false,
    dropdown: true,
    scrollbar: true,
    change: setDefaultTime()
});

您可能已经注意到,我已经在 TimePicker 实现的 HTML 和 JQuery 部分中设置了 onchange 事件,不幸的是,只有当用户手动输入时间而不使用选择时,它才会触发。

有没有办法让 onchange 方法同时触发选择和手动输入?

如果没有,是否有其他 TimePicker 实现可以做到这一点?

最佳答案

您在初始化时间选择器时调用setDefaultTime函数。将其作为引用传递(只需使用函数名称)

$('input.timepicker').timepicker({
    ....
    change: setDefaultTime //Notice removed () from here
});

function setDefaultTime(time) {
  console.log('Selected Time is:' + time)
}

$('input.timepicker').timepicker({
  timeFormat: 'HH:mm',
  interval: 5,
  minTime: '6:00am',
  maxTime: '10:00pm',
  dynamic: false,
  dropdown: true,
  scrollbar: true,
  change: setDefaultTime
})
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>

<input class="form-control timepicker" name="starttime" placeholder="Startzeit" autocomplete="off" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" />

关于javascript - 使用下拉菜单时,JQuery TimePicker OnChange 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48496822/

相关文章:

html - 如何使用 Bootstrap 让一列跨越多行?

html - 是否可以更改 HTML 表格中的制表符/焦点顺序,使其先垂直移动然后水平移动?

javascript - 如何访问从 Promise.all() 返回的 key

javascript - 表重置后显示 JQuery UI 工具提示

javascript - 无法同时使用ajax POST和jquery动画(使用Bootstrap)

javascript - 滚动脚本上的动画更改 Logo 大小会导致库冲突或其他一些加载问题

html - 使用 CSS 为图像添加深度

JavaScript 回调令人困惑的行为

javascript - 无法使用 Element.insertAdjacentHTML() 执行内联脚本

javascript - 删除幻灯片之间的空白