Ich versuche, ein Javascript für die Klasse eines Feldes zu laden. Hier ist meine Ansicht:Migrieren Sie Javascript in CoffeeScript und es funktioniert beim Laden der Seite
<%= 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>
Ich kann nur das Javascript auf Seite aktualisieren zu arbeiten. Beim ersten Ladevorgang gibt die Seitenkonsole an:
Auf Seite neu laden funktioniert es gut.
Ich habe versucht, wie das Dokument bereit Handler zu verwenden, so, ohne Glück:
<script>
$(document).ready(function() {
(".form-datetime").datetimepicker({format: 'yyyy-mm-dd hh:ii'});
});
</script>
Ich habe TurboLinks aktiviert, so habe ich versucht, dies ohne Glück How TurboLinks Works:
$(document).on("page:change", function() {
$(".form-datetime").datetimepicker({format: 'MM d, yyyy hh:iia'});
});
Ich würde auch mag dieses <script>
Tag aus der Ansicht entfernen und es in die CoffeeScript-Datei platzieren. Was muss ich in die CoffeeScript-Datei schreiben, um diese Javascript-Funktion beim Laden der ersten Seite zu laden?
Versuchen Sie, den * document.ready * -Handler einzupacken. Wenn Ihre Hauptskripte unterhalb dieses in der Seite geladen werden, dann rufen Sie das Plugin auf, bevor es geladen und definiert – charlietfl
aktualisiert wurde, ohne Glück. –
Sie vermissen das jQuery-Sigil in Ihrem aktualisierten Code: '(" .form-datetime "). Datetimepicker ({...});' - Wahrscheinlich ein SO-Tippfehler. Können Sie außerdem bestätigen, dass die Funktion "datetimepicker" tatsächlich der korrekte Name der Funktion ist? –