You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Materialize CSS Timepicker的onSelect事件无法触发问题求助

解决Materialize Timepicker onSelect事件无响应的问题

嘿,我之前也踩过这个坑!你遇到的问题大概率是因为Materialize CSS的Timepicker组件在不同版本里的回调API有变化——你用的onSelect在新版本里已经被弃用或者改名了,所以才会出现组件能正常运行但事件没反应的情况。

下面给你两种可行的解决方案,根据你的需求选就行:

方案1:使用onCloseEnd(选择完时间关闭时触发)

这个回调会在用户选好时间、关闭时间选择器的时候触发,参数是包含选中时间信息的对象,和你原来的需求匹配度很高:

$(document).ready(function(){
  $('.timepicker').timepicker({
    onCloseEnd: function(selectedTime) {
      alert(selectedTime.hour + " " + selectedTime.minute);
    }
  });
});

方案2:使用onChange(实时响应时间变更)

如果需要用户在滚动选择小时/分钟的时候就触发事件(不用等关闭选择器),可以用这个回调:

$(document).ready(function(){
  $('.timepicker').timepicker({
    onChange: function(currentTime) {
      alert(currentTime.hour + " " + currentTime.minute);
    }
  });
});

额外说明

  • 旧版本的Materialize(比如v0.97.x)确实支持onSelect,但v1.0.0及以上的版本已经移除了这个回调,换成了上面更明确的事件名称。你可以检查一下你引入的Materialize JS/CSS版本,确认是不是版本不匹配导致的问题。
  • 另外再确认下引入顺序:要先引入jQuery,再引入Materialize的JS文件,这个虽然你说组件本身正常,但还是确保一下更稳妥~

内容的提问来源于stack exchange,提问作者tempSt69

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:43