rails jquery ui datepicker

Hap*_*ing 3 jquery ruby-on-rails datepicker coffeescript

我想将datepicker小部件添加到我的一个选择字段中.我目前正在使用rails 3.2.13和ruby 1.9.3.p325.我还包括'jquery_datepicker'宝石,以及'jquery-rails'和'jquery-ui-rails'

表单代码如下所示.

  <div class="field">
    <%= f.label :datum %><br />
    <%= f.text_field :datum , :id => "datepicker" %>
  </div>
Run Code Online (Sandbox Code Playgroud)

包含的javascript是:

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require dataTables/jquery.dataTables
//= require select2
//= require_tree .


$ ->
  $("#practice_toolkeeper")
    .select2({
         allowClear: true,
         placeholder: 'Select an item'
    })
    .select2('val',$("#toolkeeper_value").val())    

$ ->
  $("#datepicker").datepicker()
Run Code Online (Sandbox Code Playgroud)

它生成HTML

<div class="field">
  <label for="practice_datum">Datum</label><br />
  <input id="datepicker" name="practice[datum]" size="30" type="text" />
</div>
Run Code Online (Sandbox Code Playgroud)

如果选择输入字段,则不会发生任何事情

Sac*_*tte 6

更换

$("datepicker").datepicker();
Run Code Online (Sandbox Code Playgroud)

$("#datepicker").datepicker();
Run Code Online (Sandbox Code Playgroud)

缺少#selecotr.由于datepickerid元素的.你需要#在选择器中使用.

UPDATE

jQuery($)->
 $("#datepicker").datepicker();
 .....
Run Code Online (Sandbox Code Playgroud)

这应该工作.

更新2

假设您在sample.coffee文件中有以下内容-

jQuery ->
 $("#datepicker").datepicker();
Run Code Online (Sandbox Code Playgroud)

您需要使用以下命令编译abouve文件 -

coffee -c sample.coffee
Run Code Online (Sandbox Code Playgroud)

然后,这将生成js包含以下内容的文件 -

(function() {
  jQuery(function() {
    return $("#datepicker").datepicker();
  });

}).call(this);
Run Code Online (Sandbox Code Playgroud)

如果您对咖啡脚本不熟悉,请访问http://coffeescript.org/#installation