如何在简单的Rails应用程序中使用JQuery datepicker?

时间:2010-06-14 15:05:45

标签: jquery ruby-on-rails ajax datepicker

对于Ruby On Rails(以及一般的Web编程),我是一个新手。我来自典型的桌面编程背景。我写了几个简单的rails应用程序,但这是我第一次尝试使用Rails3,以及我第一次使用jQuery。

我无法理解如何将我的jQuery datepicker连接到我的Rails应用程序。我确信我只是不理解基本的东西,所以请纠正我在代码中看错的任何内容,或者指出一个很好的参考来解释这个。

我的应用程序使用索引功能显示数据库中的数据,而不对默认的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的大多数例子 - &gt; Rails似乎专注于使用表单,在这里我不想。我通过alert()验证了onSelect()是否正常工作,但我不知道如何从该函数调用我的Rails控制器。

基本上,我想选择一个日期,然后重新渲染我知道需要更新的页面上的部分内容。也许我只是不完全理解AJAX / jQuery / Rails?

1 个答案:

答案 0 :(得分:1)

基本上你的问题是你不知道在OnSelect函数中放什么。

在那里我会调用ajax jQuery函数来调用你的控制器,然后使用回调函数来添加所需的HTML代码。

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

更多信息: