Rails文件夹结构中的Javascript范围

时间:2015-09-18 09:39:28

标签: javascript jquery ruby-on-rails

在xxx.html.erb中,实现一个简单的功能来选择所有选中的项目

<button class="btn btn-info btn-sm" onclick=selectAll()>Select All</button>

<script>

function selectAll(){
  $(':checkbox').prop("checked", true);
}

</script>

但是,当我尝试将函数selectAll解压缩到rails中的其他文件时,它根本不起作用。

前:

in xxx.html =&gt;

<script src="/assets/xxx.js" type="text/javascript"></script>
<button class="btn btn-info btn-sm" onclick=selectAll()>Select All</button>
lib / assets / javascripts / xxx.js中的

  function selectAll(){
  $(':checkbox').prop("checked", true);
}

浏览器将弹出Uncaught TypeError:selectAll不是函数...

我认为它可能与“范围”有关,但无法理解它的工作原理。非常感谢

1 个答案:

答案 0 :(得分:0)

对于Rails 4:

尝试进入app / assets / javascript / xxx.js。

$(document).ready(function() {
  selectAll();
});

function selectAll(){
  $(':checkbox').prop("checked", true);
}

如果没有//= require_tree .,则需要在app / assets / javascripts / applications.js中输入。例如:

//= require jquery
//= require jquery_ujs
//= require foundation
//= require turbolinks
//= require xxx

我希望可以帮助你。