2014-05-06 73 views
4
read = -> 
    $('#date_picker').datepicker 

$(document).ready read 
$(document).on "page:load", read 

這是我使用上面的代碼是如何稱爲datepicker。我使用日期選擇器導軌寶石。以下是表格代碼自舉日期選擇器欄不工作

= simple_form_for :due_on,:url=> admin_requests_path,:method => "get",html: {id: "due_on_filter"} do |f| 
    = f.input :mydate,:disabled => 'disable', :input_html => { :data => {:behaviour => :datepicker },id: "date_picker"} 

我無法使其工作。沒有錯誤,但日期選擇器不起作用。

這是我的application.js

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require bootstrap 
//= require jquery.ui.core 
//= require jquery_nested_form 
//= require dataTables/jquery.dataTables 
//= require dataTables/jquery.dataTables.bootstrap3 
//= require datatable_calls 
//= require nprogress 
//= require nprogress-turbolinks 
//= require chosen-jquery 
//= require chosen_calls 
//= require filter_ajax_calls 
//= require bootstrap-datepicker/core 
//= require custom 

HTML形式的原始輸出是:

<form accept-charset="UTF-8" action="/admin/requests" class="simple_form due_on" id="due_on_filter" method="get" novalidate="novalidate"> 
<div style="display:none"><input name="utf8" type="hidden" value="&#x2713;" /></div> 
<div class="control-group string required due_on_mydate"> 
<label class="string required control-label" for="date_picker"> 
<abbr title="required">*</abbr> Mydate</label> 
<div class="controls"> 
<input class="string required" data-behaviour="datepicker" id="date_picker" name="due_on[mydate]" type="text" /> 
</div> 
</div> 
</form> 
+0

正在輸出的html是什麼,是在表單上設置的ID爲date_picker?我不認爲你已經在表單上正確設置了你的ID,可能是錯誤的..雖然..worth檢查 – Richlewis

+0

這是輸出html '

' – Aravind

+0

'有問題的錯字?? ()# $('#date_picker')。datepicker()' –

回答

3

你確定這個js /咖啡代碼工作?

你能嘗試請:

setInterval(function() { 
$(function() { 
var datepicker = $('#date_picker');              
     if(datepicker.length) { 
      datepicker.datepicker(); 
      alert("found the element!"); 
     } else { 
      alert("could not find element"); 
     }  
    }); 
}, 4000); 
+0

它正在返回找不到元素。 – Aravind

+0

好吧,所以基本上我們知道元素不在DOM結構中。如果你進入該頁面並等待30秒或類似的事情會發生什麼。表單是否被呈現,並且你是否收到「found element」消息? –

+0

你可以把它附加到你的application.js文件中:「// = require_tree」。也許有些東西缺失。 –

1

編輯在你的腳本

$(function(){$("#datepicker").datepicker({ 
showbuttonPanel: true 
}); 
}); 

,你需要需要bootstrapjquery-ui-1.10.4.custom文件在這兩個js的& CSS應用。現在使用datepicker id實現你想要的日期選擇器。