使用rails在JQuery中放入动态散列



我是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>  

相关内容

  • 没有找到相关文章

最新更新