我是rails新手,JQuery新手。我使用的是带有rails的jquery.timepicker,它需要散列来屏蔽给定时间列表中的某些时间范围(即,上午8点到下午6点之间,下午1点到下午2点不可用)。在静态页面上,JQuery是这样写的:
<script>
$('#someTextfieldPair .time').timepicker({
'timeFormat': 'g:ia',
'disableTimeRanges': [
['11:00am', '12:00pm'],
['3:00pm', '4:00pm']
]
});
</script>
我尝试基于值@other_events.time_start和@other_eevents.time_end创建散列,而不是静态时间。我尝试过,但我真的不知道如何将JQuery和rails结合起来
<script>
$('#someTextfieldPair .time').timepicker({
'timeFormat': 'g:ia',
'disableTimeRanges': [
<%= @other_events.each do |e| %>
['<%= e.time_start.strftime("%l:%M %P") %>', '<%= e.time_end.strftime("%l:%M %P") %>'],
<%end %>
]
});
</script>
我正在使用这个jquery.timepicker:http://jonthornton.github.io/jquery-timepicker/
我建议你检查一下https://github.com/gazay/gongem,它对rails来说非常棒:它在页面顶部生成一个javascript对象,所以您可以像对待任何变量一样,用javascript访问您的时间范围(每页!)。
在helper.rb
中
def create_array(array_values)
your logic......create your Hash or Array here
end
在您的js
文件中
<script>
$('#someTextfieldPair .time').timepicker({
'timeFormat': 'g:ia',
'disableTimeRanges': $('#someTextfieldPair .time').after("#{escape_javascript create_array(@other_events)}")
});
</script>