2013-10-30 68 views
0

在Ruby on Rails的4應用程序,我有一個使用的jQuery的DatePicker(從jquery-ui-rails寶石的一種形式。

所以我需要調用

$('.datepicker').datepicker(); 

每次我的形式呈現。

我開始這個(在我的控制器具體.js.coffee文件。)

$ -> 
    $('.datepicker').datepicker 

會開得不錯,直到我得到了Turbolinks問題,不得不更改爲:

ready = -> 
    $('.datepicker').datepicker(); 

$(document).ready = ready 
$(document).on 'page:change', ready 

但我仍然有打提交按鈕後的問題,有一個(或多個)錯誤,所以這個形式是重新呈現但沒有處理程序(document.readydocument.on page:change)被調用。

我已經把這個代碼application.js

$(function(){ 
    console.log("application.js -> ready") 
}) 

,我可以在這個被調用控制檯中看到,但在特定的控制器.js文件中定義的功能都沒有。

所有文件似乎是正確加載(他們在<header>節一<script>線;以及出現在Chrome的源標籤

+1

我不是語法清晰。上面,但從一個JavaScript/jque ry透視'$(document).ready = ready'沒有註冊一個函數來調用ready事件,它會破壞你應該調用的'ready'函數來註冊一個監聽器。 –

+0

@MikeEdwards,請將您的評論作爲回覆,以便我可以將其作爲答案進行檢查!我需要刪除'='符號... – Vargas

回答

1

我不是語法清晰以上,但是從一個JavaScript/jQuery的觀點:

$(document).ready = ready 

這不註冊的函數,在準備時稱,它則會覆蓋,你應該調用註冊一個偵聽就緒功能

+0

爲了清楚起見,將我的行更改爲:'$(document).ready ready'解決了我的問題。 – Vargas

相關問題