2013-03-31 151 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()