javascript - 尝试在 onclick 中定义一个函数

标签 javascript jquery ruby-on-rails ruby-on-rails-4

我正在尝试在 onclick 中定义一个函数。它不起作用,并且控制台上没有显示错误。我从页面底部调用了该函数,并在 onclick() 中定义了该函数,但它不起作用。

 <div id="content-wrapper">

          <div class="row">
            <div class="col-lg-12">
            <div class="main-box clearfix">
            <div class="clearfix">
              <div class="common_page gsb1">
              <div class="hdr">
                   <div class="row">
                <div class="col-md-4">
                  <h4>Users</h4>
                </div>
                 <div class="col-md-5">
//this is not working  
  <p><a href="" onclick="function send_Data(data){
                    download_csv(data)};">Download </a></p>
                </div>



                <div class="col-md-3 pull-right">
                      <%=render 'search'%>
                </div> 
              </div>    
                     </div>


           <% download_data = []%>

              <%@users.each do |user|%>     

                 <div id='content' class="tab-content">
                    <div class="tab-pane active" id="all">
                      <div class="row">
                      <div class="col-md-4">
                        <p><b>User Name</b> <span class="blue"> <%=user.name %> </span> </p>
                        <%download_data.push(user.name)%>
                       <p><b>user_code</b> <span class="blue"> <%=user.user_code %> </span>  </p>
                         <%download_data.push(user.user_code)%>
                       <p><b>phone</b> <span class="blue"><%=user.phone %></span>  </p>
                        <%download_data.push(user.phone)%>

                    </div>
                   </div>
               </div>

              <%end%>

              <div data-no-turbolink>
                <%if @users.length > 1%>
                  <%= will_paginate @users %>
                <% end %>
              </div>  
                </div>
              </div>
              </div>
            </div>
          </div>

          <footer id="footer-bar" class="row">
            <p id="footer-copyright" class="col-xs-12">
              Powered by abcadas
            </p>
          </footer>
        </div>
      </div>
    </div>
  </div>
  <script >
       $("#zsales").attr("class","active")

       send_Data("<%=download_data%>")
  </script>

最佳答案

您可以定义一个自执行函数,如下所示:

<p>
    <a href="" onclick="(function send_Data(data){
                                     download_csv(data)
                                   }
                        )(window.data);">Download</a>
</p>

假设您在窗口范围内定义了数据。引用这个:

(function(scope){ ... })(scope)

关于javascript - 尝试在 onclick 中定义一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38821627/

相关文章:

ruby-on-rails - 查找有关 Edge Rails 计划信息的最佳位置是什么?

javascript - Glimmer VM 与虚拟 dom 有何不同?

javascript - 如何使固定元素在滚动时隐藏,然后在用户不滚动时出现

javascript - flex : 1 上下滑动功能问题

javascript - 如何让 .click 在 jquery 中执行两个功能?

ruby-on-rails - 如何仅根据 URL 从亚马逊获取产品信息?

ruby-on-rails - 如何在 Rails paths.rb 中设置多个约束?

javascript - 如何使用 NodeUnit 测试客户端代码

javascript - ID不同时更改图像源

AJAX:我无法从服务器端获取数据