【问题标题】:How to get rails variable into onclick function call如何让rails变量进入onclick函数调用
【发布时间】:2012-11-03 19:00:38
【问题描述】:

您好,我有以下内容:

 = link_to @place.name, '#', onclick: 'get_maps(#{@location_string});'

我目前正在尝试使用 rails 变量参数链接到 javascript 调用,但由于某种原因,rails 变量 @location_string 没有被传递给其中包含变量的 javascript 调用。目前它被呈现为一个字符串:

<a href="#" onclick="get_maps(#{@location_string});">3308 Kanaina Ave</a>

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: javascript ruby-on-rails haml


    【解决方案1】:

    你需要输入:

    = link_to @place.name, '#', :onclick => "get_maps('#{@location_string}');"
    

    onclick是link_to的一个参数。
    get_maps 里面的参数应该放在''里面。

    【讨论】:

      【解决方案2】:

      #{} 语法在单引号内不起作用。你想要的

      "get_maps('#{@location_string}');"
      

      【讨论】:

      • 我不认为是这样。我更改了它,get_maps 似乎没有触发。我知道get_maps 有效,因为当我输入onclick: 'get_maps("San Francisco");' 时,它会做正确的事情。
      • 啊,我认为您需要在 #{@location_string} 周围加上单引号才能使您的代码正常工作。改变,我会给你信用:)
      • 完成。假设您的 @location_string 已经有引号。
      【解决方案3】:

      人们说使用内联JS,比如onclick='',onmouseover 等不好。您可以通过链接的数据属性传递 ruby​​ 变量,并使用 jquery click() 函数附加事件

      【讨论】:

        猜你喜欢
        • 2013-02-06
        • 1970-01-01
        • 1970-01-01
        • 2012-03-13
        • 2021-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        相关资源
        最近更新 更多