【发布时间】:2016-09-19 18:45:11
【问题描述】:
我正在尝试为字段的类加载 Javascript。这是我的看法:
<%= form_for @game do |f| %>
<div class="row">
<div class="col-lg-4 col-md-6">
<div class="form-group">
<%= f.label :time %>
<%= f.text_field :time, class: 'form-control form-datetime', readonly: true %>
</div>
</div>
</div>
<%= f.submit(class: 'btn btn-success')%>
<% end %>
<script>
$(".form-datetime").datetimepicker({format: 'yyyy-mm-dd hh:ii'})
</script>
我只能让 Javascript 用于页面刷新。在第一次加载时,页面控制台状态:
未捕获的类型错误:$(...).datetimepicker 不是函数
在页面重新加载时它工作正常。
我曾尝试使用文档就绪处理程序,但没有成功:
<script>
$( document ).ready(function() {
(".form-datetime").datetimepicker({format: 'yyyy-mm-dd hh:ii'});
});
</script>
我启用了 TurboLinks,所以我尝试了这个但没有运气How TurboLinks Works:
$(document).on("page:change", function() {
$(".form-datetime").datetimepicker({format: 'MM d, yyyy hh:iia'});
});
我还想从视图中删除这个<script> 标记并将其放置在CoffeeScript 文件中。我需要在 CoffeeScript 文件中写什么才能在第一页加载时加载这个 Javascript 函数?
【问题讨论】:
-
尝试包装在 document.ready 处理程序中。如果您的主脚本加载到页面下方,那么您在加载和定义插件之前调用插件
-
更新了,没有运气。
-
您在更新的代码中缺少 jQuery 印记:
(".form-datetime").datetimepicker({...});-- 不过可能是一个错字。除此之外,您能否确认函数datetimepicker确实是函数的正确名称? -
这是一个功能,因为它在我不使用文档准备并刷新页面时起作用。你是什么意思'缺少 jQuery 印记'?
-
$(document).ready(...)代码中没有美元符号。看(".form-datetime")
标签: javascript jquery ruby ruby-on-rails-3 coffeescript