我正在尝试使用Bootstrap Timepicker函数从getTime获取时间,但只有在按下按钮时才会在控制台中收到错误消息(带有我的按钮的ID,请参阅代码如下。)
HTML
<div class="input-append bootstrap-timepicker-component">
<input type="text" class="timepicker input-small">
<span class="add-on">
<i class="icon-time"></i>
</span>
</div>
的JavaScript
<script type="text/javascript">
$('#my-button').on('click', function() {
alert($('.timepicker').getTime());
});
$('.timepicker').timepicker({
template : 'dropdown',
showInputs: false,
showSeconds: false
});
</script>
控制台出错
Uncaught TypeError: Object [object Object] has no method 'getTime'
我一直试图弄清楚这几个小时。我以为我可以使用源代码来学习如何使用选择器,它看起来像是一个getTime()函数,但我不能为我的生活弄清楚如何使用它。我正在使用Rails,因为它的价值。谢谢你们!
答案 0 :(得分:12)
FWIW可以调用getTime()
,但无法直接调用,因为$('.timepicker')
会返回&lt; input&gt;来自DOM的元素,而不是实际的timepicker对象。
文档中没有提到它,但是如果你看一下bootstrap-timepicker.js源代码,那么绑定函数($.fn.timepicker
)会使用jQuery的数据存储对DOM元素的实际timepicker对象的引用( )功能。
所以,这有效:
$('.timepicker').data("timepicker").getTime();
(当然getTime()
仍然只返回一个字符串,所以在这种情况下,父母建议使用val()可能更干净,除非你认为可能有无效的数据输入到字段中,还没有被清除时间戳。)
答案 1 :(得分:10)
$('#ReportingTime').data('timepicker').hour;
$('#ReportingTime').data('timepicker').minute;
$('#ReportingTime').data('timepicker').meridian;
答案 2 :(得分:4)
这不是一个公共函数,方法getTime只对该函数是私有的。这意味着您无法访问它。
如果你想得到时间,只需做一个.val();
并解析它。或者您可以修改脚本以公开.getTime();
函数。