2

Я пытаюсь использовать http://trentrichardson.com/examples/timepicker/ timepicker. У меня есть версии ruby ​​1.9.3p484 и rails 4.1.0. Я включил jquery-ui-timepicker-addon.css с вышеуказанного веб-сайта в своем приложении/assets/stylesheets/application.css.scss. Я также скопировал jquery-ui-timepicker-addon.js в app/assets/javascripts.Ruby on Rails Project Timepicker

В моей Gem файл, я добавил

gem 'jquery-rails' 
gem 'jquery-ui-rails' 

В мое приложение/активов/JavaScripts/application.js файл я добавил

//= require jquery-ui 
//= require jquery-ui-timepicker-addon 

$(function(){ 
     $("#tpicker").timepicker(); 
     }); 

В моем приложении/активов/стилей/приложения .css.scss Я добавил

*= require jquery-ui 

, а также CSS с JQuery-UI-timepicker-addon.css (находится в http://trentrichardson.com/examples/timepicker/) внизу.

Проблема в этом. В моем html.erb я следующий

<%= f.text_field :time, id: "tpicker" %> 

Однако timepicker не отображается при нажатии или набраны в данном text_field. Пожалуйста помоги!

+1

это опечатка '$ (" tpicker "). Timepicker();'? это должно быть '$ (" # tpicker "). timepicker();'. –

+0

Я исправил его в вопросе. Это была опечатка здесь, а не в моем фактическом файле .js. Спасибо, что указали это здесь. – gmoney

+0

В браузере вы видели, как источник вашей страницы для добавленного вами файла включается в тег скрипта, и если они включены, они не включаются дважды? – Deep

ответ

0

На мой взгляд, это должно быть что-то вроде этого:

$(function(){ 
     $('#tpicker').timepicker(); 
     $('#tpicker').on('click', function(){ 
      $('#tpicker').timepicker('setTime', new Date()); 
     }); 
     }); 

Дополнительные примеры - читать этот jquery.timepicker demos and documentations

+0

пробовал, что, все еще не работает – gmoney

+0

для отладки, поместите 'alert ('click!)' В on_click_function и Вы можете видеть, что у вас есть событие 'click' или нет ... В качестве случая вы могли бы использовать' change' или другое событие ... Некоторые браузеры не любят 'click event' без элемента' a' ... –

+0

Я изменил функцию на это: '$ (function() { $ (' # tpicker '). Timepicker(); $ (' # tpicker '). On (' click ', function() { $ ('#tpicker'). timepicker ('setTime', новый Date()); alert ("click"); }); }); это мое поле <% = f.text_field: time, id: "tpicker"%>. При нажатии ничего не появляется – gmoney

0

Так вот как это работает. Я включил все javascript в свой файл страницы внутри тегов. Он работает сейчас, за исключением того факта, что мне нужно обновить страницу, чтобы она работала. Это не работает в первый раз.