2013-03-31 153 views
3

我想添加datepicker小部件到我的选择字段之一。 我目前使用rails 3.2.13和ruby 1.9.3.p325。 我还包括了 'jquery_datepicker' 宝石,以及 'jQuery的轨道' 和“jQuery的UI-Rails的rails jquery ui datepicker

形式的代码看起来如下。

<div class="field"> 
    <%= f.label :datum %><br /> 
    <%= f.text_field :datum , :id => "datepicker" %> 
    </div> 

包含的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() 

如果选择输入框,什么也没发生

+0

抱歉,在代码中使用'$ - >'是什么?或者就这个问题呢? – SachinGutte

+0

我对jquery和coffescript等很陌生。我不知道。 – HappyHacking

+0

请看我更新的答案。 – SachinGutte

回答

6

其生成HTML

<div class="field"> 
    <label for="practice_datum">Datum</label><br /> 
    <input id="datepicker" name="practice[datum]" size="30" type="text" /> 
</div> 

更换

$("datepicker").datepicker(); 

$("#datepicker").datepicker(); 

缺少#在selecotr。由于datepicker是元素的id。您需要在选择器中使用#

UPDATE

jQuery($)-> 
$("#datepicker").datepicker(); 
..... 

这应该工作。

更新2

假设你已经按照sample.coffee文件内容 -

jQuery -> 
$("#datepicker").datepicker(); 

您需要编译如下命令abouve文件 -

coffee -c sample.coffee 

这一操作将产生js带有以下内容的文件 -

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

}).call(this); 

如果你不与咖啡剧本熟悉很好,虽然去http://coffeescript.org/#installation

+0

好吧我已经改变了,但没有效果,看到我的编辑 – HappyHacking

+0

不能正常工作,但现在在萤​​火虫我得到以下错误: TypeError:jQuery(...)。datepicker不是函数 [Break On this Error] \t return jQuery(“#datepicker”)。datepicker(); – HappyHacking

+0

请参阅更新一次。 – SachinGutte

2

你错过了#选择id为日期选择器的元素。它应该是

$("#datepicker").datepicker()