【问题标题】:Rails: How do I use a javascript variable outside <script.../> but inside the view?Rails:如何在 <script.../> 外部但在视图内部使用 javascript 变量?
【发布时间】:2010-02-11 18:35:15
【问题描述】:

在一个视图中,我有一个脚本 (javascript),它在经过一些深度处理后声明了一个变量。如何在同一视图页面的脚本边界之外使用该变量?

some_view.html.erb

<script>var seq = Sortable.sequence('list');</script>

# How to do this? Is it possible?

<%= sortable_element "list",
  :update => "order",
  :complete=> visual_effect(:highlight, "list"),
  :scroll => 'list',
  :url=>{:action=>"order", :order_init => seq} %>

谢谢!

【问题讨论】:

  • 对不起我今晚有点厚。也许这有助于解释我自己。我正在尝试做这样的事情: "order", :complete=> visual_effect( :highlight, "list"), :url=>{:action=>"order", :order_init => seq} %>

标签: javascript ruby-on-rails


【解决方案1】:

这是不可能的,因为 Rails 是一种服务器端语言,而 javascript 是在客户端执行的。

您正在寻找的是 AJAX 功能(异步 JavaScript)

【讨论】:

    【解决方案2】:

    如果是真正的 javascript 在 JavaScript 处理后声明变量,那么你需要反其道而行之。像这样(将script 块移动到 HTML 下方,否则此示例将失败):

    <h2> Hello, my name is <span id="name"></span></h2>
    
    <script type="text/javascript">
       var name = "World";
       document.getElementById('name').innerHTML = name;
    </script>
    

    这样脚本运行后,名称将在客户端的 HTML 中替换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-09
      • 2017-06-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多