0
  1. 我有一个重复事件的事件日历。站点管理员选择开始和结束日期以及重复间隔。所以,这个周末从周五到周日每天重复的艺术节有三个事件实例。公园音乐会从 5 月初到 9 月底的每个星期四举行,大约有 20 场左右的活动实例。

我使用了 Ryan Bates 的技术来管理具有一个表单的多个模型,并添加了“添加另一个”link_to_new_fields方法,该方法会弹出一个新的子表单,用户可以在其中添加另一个日期。这确实很好用,但事件实例部分使用date_select而不是性感的 jquery datepicker。所以,我的问题是如何在我的 .coffee.js 文件中解释无数事件实例?他们都有一个独特的ID。如果我在表单加载后检查它们,它们会以可预测的方式递增,例如calendar_event_calendar_event_instances_attributes_0_starts_at,然后 ...1...,然后 ....2... 等等。那么,我如何.coffee.js在调用时将它们全部计入文件中datepicker()? 制作 100 种相同的方法来解释所有这些方法似乎很荒谬,这甚至可能还不够。我尝试动态生成函数,但无济于事,我假设在模型或 Ruby 助手中可能有一种非常聪明的方法来做到这一点。

  1. 与此相关的是,一旦您单击“添加另一个日期”,ID 就会与时间戳绑定以生成唯一 ID。我明白了,但我无法预加载 jQuery 来知道这些未来的 id 可能是什么。那么,我该如何编写一个 jquery 方法来处理这个问题呢?

任何见解都会非常有帮助。日期选择器在整个站点中运行良好,但现在客户对它上瘾了,如果可能的话,也希望在这里使用它。

谢谢,

史蒂夫

4

1 回答 1

0

我认为您想选择正确的 jQuery 选择器:jQuery Selectors
这个看起来可能有用:Attribute Starts With Selector
然后您可以在您的咖啡脚本中尝试这样的操作:

jQuery("select[id^=calendar_event_calendar_event_instances_attributes]").datepicker(...)  

假设您所有的日历 ID 都以 calendar_event_calendar_event_instances_attributes 开头并且在 select 标签内。

于 2012-08-24T19:45:48.757 回答