对于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?
答案 0 :(得分:1)
基本上你的问题是你不知道在OnSelect
函数中放什么。
在那里我会调用ajax
jQuery函数来调用你的控制器,然后使用回调函数来添加所需的HTML代码。
$.ajax({ url: "/mycontroller/myaction", context: document.body, success: function(){
$(this).addClass("done");
}});
更多信息: