1

我有一个timepicker像这样的简单元素:

<input class="pickuptime_end" id="pickuptime_end" name="pickuptime_end" placeholder="Time" size="10" type="text" value="10 pm" style="display: inline-block;">

我只是在更改值时对其进行测试,它会提醒我:

$("input.pickuptime_start, input.pickuptime_end, input.deliverytime_start, input.deliverytime_end").change( function() {
    alert("changed")
})

在 JS Fiddle 中一切正常(https://jsfiddle.net/gnroaxut/1/)。

然而,在我的实时站点(https://hidden-tundra-8656.herokuapp.com/orders/61862e?key=UDIS)中,它没有。代码完全相同:

呈现的 HTML:

<input class="pickuptime_end" id="pickuptime_end" name="pickuptime_end" placeholder="Time" size="10" type="text" value="5 am">

源JS代码:

$('.pickuptime_end').timepicker({
  interval: 30,
  disableTextInput: true
});
$("input.pickuptime_start, input.pickuptime_end, input.deliverytime_start, input.deliverytime_end").change( function() {
  alert("changed")
})

关于为什么它不起作用的任何想法?注意:

  • 我有预编译的资产,这不是问题
  • 所有其他 jQuery 都很好,没有问题,因为不需要或通过 CDN 导入代码
  • 这也不能在开发模式下工作
  • 没有控制台错误
4

1 回答 1

0

您链接的 jsfiddle 使用的 timepicker 版本与您在网站上使用的版本不同(1.10.0 [jsfiddle] vs 1.3.1 [your site])。用 1.3.1 更新 jsfiddle 会中断警报:https ://jsfiddle.net/ux2LweLb/2/

但是,使用 1.3.1 可以让您使用 timepicker 的本机更改属性:

$('.pickuptime_end').timepicker({
      interval: 60,
    change: function(x){alert('changed')}
    });

有关工作示例,请参见:https ://jsfiddle.net/t986738k/。

于 2016-07-27T19:25:00.380 回答