我的页面包含日历视图(http://code.google.com/p/calendardateselect/)以及div,每个div都包含有关某人的信息。在每个div中,我希望有一个指向新控制器和操作的链接,并传递该人员的ID和日历中选择的日期。
我可以想到一种方法,但我认为可能有更好的解决方案:
1)做类似的事情:
=link_to_function "Week", "weekClicked(#{person.id})"
然后在weekClicked()javascript方法中,我从日历中获取所选日期,例如:
$('e_date').selected_date;
然后使用javascript我可以提出如下所述的帖子请求:JavaScript post request like a form submit
2)或者,是否有一种方法可以使每个链接成为自己形式的按钮,并且可能有一个隐藏字段,可以在提交表单之前或之前从日历中获取所选日期?我也尝试了这个,但无法理解。这看起来肯定比#1更能走上正轨。
感谢。
答案 0 :(得分:0)
嗯,
是否可以使用JS来序列化您要发送的参数。将Person.id存储在隐藏字段var person_id = '<%= person.id %>'
现在,对于按钮/链接,您只需调用weekClicked(person_id);
其中
weekClicked = function(person_id) {
var data = $('#calendar').serialize() + '&' + $('other_var').serialize;
doAjaxCall(data);
}
您可以将页面中的所有必要输入链接到上面的数据变量。我假设JQuery,但在其他库中会有类似的选项。