【问题标题】:Putting a dynamic hash in JQuery using rails使用 rails 在 JQuery 中放置动态哈希
【发布时间】:2015-05-27 19:36:41
【问题描述】:

我对 Rails 很陌生,对 JQuery 很陌生。我将 jquery.timepicker 与 rails 一起使用,它需要哈希来阻止给定时间列表中的某些时间范围(即,上午 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_events.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/

【问题讨论】:

    标签: javascript jquery ruby-on-rails hash jquery-ui-timepicker


    【解决方案1】:

    我建议您查看https://github.com/gazay/gon gem,这对 rails 来说太棒了:它会在页面顶部生成一个 javascript 对象,因此您可以像使用任何变量一样在 javascript 中访问您的时间范围(每页!)。

    【讨论】:

    • 嘿,我一直在努力与 Gon 合作,我在这里问了另一个问题:stackoverflow.com/questions/29303678/… ...如果你有机会,我希望你能得到帮助,尽我所能如果 gon 最终有效,请仅选中此问题。
    • 添加了一个相当大的答案;)
    【解决方案2】:

    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>  
    

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 2014-02-14
      • 2014-07-21
      • 2016-11-13
      • 1970-01-01
      • 2014-12-03
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多