【问题标题】:OnClick event not binding/firingOnClick 事件未绑定/触发
【发布时间】: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


【解决方案1】:

您需要将代码包装在这样的文档就绪语句中。

$(function() { 
    $('a.select-all-current').click(function(e){
      e.preventDefault();
      alert(e);
      $('input:not(:checked)').each(function(index, element){
        $(element).click();
      });
      return false;
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-31
    • 2013-04-30
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 2013-07-01
    相关资源
    最近更新 更多