【发布时间】:2015-04-21 22:45:39
【问题描述】:
我正在尝试创建一个选择链接来触发当前页面上的所有复选框,但它不起作用只是重新加载页面。
file_items.js
$('a.select-all-current').click(function(e){
e.preventDefault();
alert(e);
$('input:not(:checked)').each(function(index, element){
$(element).click();
});
return false;
});
index.html.slim
...
.col-lg-6.pull-right.align-right
.pull-right
= link_to 'Deselect All', '#', class: 'label'
.dropdown.col-lg-2.pull-right
a#selectAllMenu.dropdown-toggle[ data-toggle='dropdown' aria-expanded='true']
.label.select-all
= "Select All "
span.caret.pull-right
ul.dropdown-menu[role='menu' aria-labelledby='selectAllMenu']
li
| SELECT
li
hr
li
= link_to 'current page', '', class: 'select-all-current'
li
= link_to 'all files', '', class: 'select-all-files'
li
= link_to 'all untagged files', '', class: 'select-all-untagged'
...
【问题讨论】:
-
你应该打电话给
e.preventDefault(),而不是$(e).preventDefault()。 -
@JohnS 谢谢我改变了,但它仍然表现相同
-
@AntarrByrd JS 现在可以工作了。是否被包裹在
$(function() { [code here] }); -
您确定 $('a.select-all-current') 正在选择您需要的内容吗?也许尝试在点击处理程序的顶部添加 e.stopImmediatePropagation()?
-
酷,我已经为它创建了一个答案!
标签: javascript jquery slim-lang ruby-on-rails-4.2