2010-06-14 37 views
1

當談到Ruby On Rails(以及一般的網絡編程)時,我是一個新手。我來自典型的桌面編程背景。我寫了一些簡單的rails應用程序,但這是我第一次嘗試使用Rails3,以及我第一次使用jQuery。如何在簡單的Rails應用程序中使用JQuery datepicker?

我無法理解如何將我的jQuery datepicker連接到我的Rails應用程序。我相信我只是不瞭解一些基本的東西,所以請糾正你在代碼中看到的任何錯誤,或者指出一個很好的參考來解釋這一點。

我的應用程序使用索引函數顯示來自數據庫的數據,而沒有從默認的導軌代碼進行任何修改。在側邊欄中,我放置了2個jQuery日期選擇器,用來根據日期過濾這些數據。我希望頁面在日期選擇器中選擇日期時進行更新,而不是在單擊表單中的某個按鈕時進行更新。

datepickers顯示正常,但我無法弄清楚如何正確地將它們連接到我的rails應用程序。下面是代碼:

<script type="text/javascript"> 
    $(function() { 
     $("#from_filter").datepicker({ 
      showOn: 'both', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      onSelect: function(date,inst) { 
        } 
     }); 

     $("#to_filter").datepicker({ 
      showOn: 'both', 
      buttonImage: 'images/calendar.gif', 
      buttonImageOnly: true, 
      onSelect: function(date,inst) { 
        } 
     }); 
    }); 
</script> 
<div id="sidebarwindow"> 
    <div id="sidebarwindowheader">Date Filter</div> 
    <table id="hor-zebra"> 
     <tr> 
      <td><label for="from_filter">From:</label></td> 
      <td><div id="datepicker"><%= text_field_tag 'from_filter' %></div></td> 
     </tr> 
     <tr> 
      <td><label for="to_filter">To:</label></td> 
      <td><div id="datepicker"><%= text_field_tag 'to_filter' %></div></td> 
     </tr> 
    </table> 
</div> 

我用Google搜索了不少,但我得到很快就失去了在jQuery的大多數例子 - > Rails的似乎把重點放在利用形式,在這裏我不想。我使用alert()驗證了onSelect()工作正常,但我不知道如何從該函數調用Rails控制器。

基本上,我想選擇一個日期,然後重新渲染頁面上的部分,我知道需要更新。也許我只是不完全理解AJAX/jQuery/Rails?

回答

1

基本上你的問題是你不知道要在OnSelect函數裏面放什麼東西。

在那裏我會調用ajax jQuery函數來調用你的控制器,然後使用回調函數來添加所需的HTML代碼。

$.ajax({ url: "/mycontroller/myaction", context: document.body, success: function(){ 
     $(this).addClass("done"); 
     }}); 

更多信息:

+0

讓我知道如果你需要進一步的幫助 – 2010-06-14 15:23:29

+0

謝謝,我覺得我越來越近。但是,我仍然困惑於如何適合rails。我像上面那樣添加了ajax調用,並且它正確調用了我的控制器(添加路由之後)。但是我一直在控制器代碼中做什麼。我嘗試過使用RJS代碼之前的經驗對它進行建模,但這似乎並不奏效(可能是因爲我使用的是jQuery,而不是原型?)您可以舉一個如何執行控制器代碼的快速示例嗎? – pj4533 2010-06-14 16:12:16

+0

想通了....感謝您的幫助。 – pj4533 2010-06-15 13:16:24

相關問題